几天前,我开始使用新的OpenCV Python接口cv2。
我的问题是关于cv和cv2接口的比较。
在易用性方面,新的cv2界面有了更大的改进,而且使用cv2非常简单和有趣。
但是速度呢?
我制作了两个小代码片段,一个在cv中,另一个在cv2中,来检查性能。两者都有相同的功能,访问图像的像素,测试它,做一些修改,等等
下面是代码:
cv2 interface:import time
import numpy as np
import cv2
gray = cv2.imread('sir.jpg',0)
width = gray.shape[0]
height = gray.shape[1]
h = np.empty([width,height,3])
t = time.time()
for i in xrange(width):
for j in xrange(height):
if gray[i,j]==127:
h[i,j]=[255,255,255]
elif gray[i,j]>127:
h[i,j]=[0,0,255-gray[i,j]]
else:
h[i,j]=[gray[i,j],0,0]
t2 = time.time()-t
print "time taken = ",t2
一、二、二、三、四、四、四、四、四、四、四、六
结果