【发布时间】:2015-03-11 20:38:06
【问题描述】:
我正在寻求有关如何提高此计算速度的帮助。我要做的是访问每个像素并对其进行一些数学运算,然后使用新的像素计算创建一个新图像。我通过几千张小图像运行这个需要 1 小时以上的时间。任何帮助将不胜感激,谢谢。
image=cv2.imread('image.png')
height, width, depth = image.shape
for i in range(0, height):
for j in range (0, width):
B = float(image.item(i,j,0)) #blue channel of image
R=float(image.item(i,j,2)) #red channel of image
num = R-B
den = R+B
if den == 0:
NEW=1
else:
NEW = ((num/den)*255.0)
NEW = min(NEW,255.0)
NEW = max(NEW,0.0)
image[i,j] = NEW #Sets all BGR channels to NEW value
cv2.imwrite('newImage.png',image)
【问题讨论】:
标签: python performance opencv numpy