python np.where遍历图像像素
传统for循环对于大量图片访问较慢。如何使用np.where()来访问像素 并操作呢?
实例:读一个灰度图,得到所有满足条件(灰度=10)像素点坐标,并存放到列表
使用for循环嵌套遍历
img=cv2.imread("./db/image_cut/image_cut2.bmp",0)#第二个参数为0代表以灰度图的方式读入
height = len(img)
width = len(img[0])
listx=[]
listy=[]
n=10
begin3=time.time()
for k in range(0,height):
for j in range(0,width):
if img[k,j]==n:
listx.append(k)
listy.append(j)
end3=time.time()
print("时间:",(end3-begin3)*1000)
看图大小,做实验的图是320*640,特征点是5个10*10
左右的像素,用时450ms左右
使用np.where()遍历
img=cv2.imread("./db/image_cut/image_cut2.bmp",0)#第二个参数为0代表以灰度图的方式读入
listx=[]
listy=[]
begin3=time.time(