正如标题所示,我有一幅图像,我想用数学函数改变它的像素坐标。到目前为止,我有下面的代码可以工作,但由于嵌套循环的缘故,非常耗时。你有什么建议可以加快速度吗?为了定量,在12像素的图像上完成这个过程大约需要2-2.5分钟。你知道吗
imgcor = np.zeros(img.shape, dtype=img.dtype)
for f in range(rowc):
for k in range(colc):
offX = k + (f*b*c*(math.sin(math.radians(a))))
offY = f + (f*b*d*(math.cos(math.radians(a))))
imgcor[f, k] = img[int(offY)%rowc, int(offX)%colc]
另外,我使用的是opencv2.4.13和python2.7
有一种方法可以让numpy为您做一些矢量化的工作,但是一个简单的加速方法是不要每次循环时都重新计算一些值(我假设a、b、c和d在循环中没有变化)。我很好奇速度会有多快,你能汇报一下吗?你知道吗
好吧,因为上面的速度太慢了,我添加了一点矢量化,我很好奇它是否更快:
相关问题 更多 >
编程相关推荐