小编nic*_*ine的帖子

从Delaunay三角测量计算Voronoi区域的大小?

我想计算2D中一组Voronoi区域的面积的平均值和标准偏差(如果区域延伸到无穷大,我只是将其剪切到单位正方形).

但是,如果可能的话,我想在不明确计算Voronoi区域的情况下从Delaunay Triangulation进行计算?这甚至是可能的,还是明确地计算Voronoi图更好?

algorithm voronoi computational-geometry

3
推荐指数
1
解决办法
1823
查看次数

$ set在MongoDB中做了什么?

我看不出使用它之间的区别:

update({"name" : "nick"}, {"$set" : {"age" : 50}})
Run Code Online (Sandbox Code Playgroud)

而不是使用它;

update({"name" : "nick"}, {"age" : 50})
Run Code Online (Sandbox Code Playgroud)

来自文档中的示例.我不清楚.

感谢您的评论,但如果我使用{"$set" : {"array_field" : [{'f' : 'v'}] }}它添加{'f' : 'v'}到数组而不是替换数组[{'f' : 'v'}],那么为什么不用$ set用新的替换数组?

mongodb

3
推荐指数
1
解决办法
128
查看次数

你可以将文件内容转换为文件对象吗?

我有一个函数期望一个文件对象,简化示例:

def process(fd):
    print fd.read()
Run Code Online (Sandbox Code Playgroud)

通常称为:

fd = open('myfile', mode='r')
process(fd)
Run Code Online (Sandbox Code Playgroud)

我无法更改此功能,并且我已经在内存中拥有该文件的内容.有没有办法convert将文件内容写入文件对象而不将其写入磁盘,所以我可以这样做:

contents = 'The quick brown file'
fd = convert(contents) # ??
process(fd)
Run Code Online (Sandbox Code Playgroud)

python string file-io file

3
推荐指数
1
解决办法
2685
查看次数

你能用傅立叶变换计算原始信号的幅度/功率吗?

在用scipy.fftpack.fft()对一些样本进行离散傅里叶变换并绘制这些样本的大小后,我注意到它不等于原始信号的幅度.这两者之间有关系吗?

有没有办法从傅里叶系数计算原始信号的幅度而不反转变换?

这是一个振幅为7.0,fft振幅为3.5的正弦波示例

from numpy import sin, linspace, pi
from pylab import plot, show, title, xlabel, ylabel, subplot
from scipy import fft, arange

def plotSpectrum(y,Fs):
 """
 Plots a Single-Sided Amplitude Spectrum of y(t)
 """
 n = len(y) # length of the signal
 k = arange(n)
 T = n/Fs
 frq = k/T # two sides frequency range
 frq = frq[range(n/2)] # one side frequency range

 Y = fft(y)/n # fft computing and normalization
 Y = Y[range(n/2)]

 plot(frq,abs(Y),'r') # plotting the spectrum …
Run Code Online (Sandbox Code Playgroud)

python signal-processing numpy fft scipy

2
推荐指数
1
解决办法
3688
查看次数

如何估算OpenCV中两个摄像机的位置?

我有两个图像对应的两组对应点。我估计了编码相机之间转换的基本矩阵:

E, mask = cv2.findEssentialMat(points1, points2, 1.0)
Run Code Online (Sandbox Code Playgroud)

然后,我提取了旋转和平移组件:

points, R, t, mask = cv2.recoverPose(E, points1, points2)
Run Code Online (Sandbox Code Playgroud)

但是,实际上如何获得两个摄像机的摄像机矩阵,以便可以cv2.triangulatePoints用来生成一点点云?

python opencv structure-from-motion

2
推荐指数
1
解决办法
4978
查看次数

为什么 np.astype('uint8') 在 Windows 和 Mac 上给出不同的结果?

我有一个(1000,1000,3)整形的 numpy 数组 ( dtype='float32'),当我将其转换为时,dtype='uint8'我在 Windows 和 Mac 上得到不同的结果。

数组可在此处获取:https://www.dropbox.com/s/jrs4n2ayh86s0fn/image.npy ?dl=0

在苹果电脑上

>>> import numpy as np
>>> X = np.load('image.npy')
>>> X = X.astype('uint8')
>>> X.sum()
167942490
Run Code Online (Sandbox Code Playgroud)

在 Windows 上

>>> import numpy as np
>>> X = np.load('image.npy')
>>> X = X.astype('uint8')
>>> X.sum()
323510676
Run Code Online (Sandbox Code Playgroud)

也用这个数组重现:

import numpy as np
X = np.array([
[[46410., 42585., 32640.],
 [45645., 41820., 31875.],
 [45390., 41310., 32130.]],

[[44880., 41055., 31110.],
 [44115., 40290., 30345.],
 [46410., 42330., 33150.]],

[[45390., …
Run Code Online (Sandbox Code Playgroud)

python numpy

2
推荐指数
1
解决办法
185
查看次数

如何在Python中的两个进程之间共享变量?

我有两个进程,一个将作业添加到队列中,另一个将它们从同一队列中取出并运行它们.这应该按预期工作,我不知道为什么worker永远不会得到任何工作.这是我的代码:

from multiprocessing import Process
from Queue import Queue
import time

q = Queue()

def queuer():
    while True:
        q.put("JOB")
        print "Adding JOB"
        time.sleep(1)

def worker():  
    while True:
        if not q.empty():
            item = q.get()
            print "Running", item
        else:
            print "No jobs"
            time.sleep(1)

a = Process(target=queuer)
a.start()

b = Process(target=worker)
b.start()
Run Code Online (Sandbox Code Playgroud)

python multiprocessing

0
推荐指数
1
解决办法
2073
查看次数