尝试使用numpy进行计算,而不要使用嵌套循环。对于numpy这样的简单计算,您应该获得类似C的性能。
例如,您的嵌套for循环可以用几个numpy表达式代替…
我对opencv并不十分熟悉,但是我认为python绑定现在具有numpy数组接口,因此上面的示例应该很简单:
cv.PyrDown(img, dsimg)data = np.asarray(dsimg)blue, green, red = data.Tres = (green > (_RED_DIFF + red)) & (green > (_BLU_DIFF + blue))res = res.astype(np.uint8) * 255res = cv.fromarray(res)
(当然,完全未经测试…)同样,我对opencv并不十分熟悉,但是无论如何,嵌套python for循环都不是明智地修改图像元素的方法。
希望无论如何能有所帮助!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)