opencv怎么绑定numpy包,我numpy与opencb库都安装好了,可是运行出现问题
在做像素操作前需要先搞清楚下标索引的方法,下面以一个宽高为16×10的灰度图(单通道)为例:
在图片中x轴方向的大小为0 ~ 15,y轴方向的大小为0 ~ 9且是向下的,我们通常描述一个二维空间的位置是以(x,y)的坐标形式表示,比如图中a点坐标为(x,y)=(9,1),图中b点坐标为(x,y)=(2,7),但是在numpy中如果用下标方法表示时,比如a点并不是表示成img[9,1],而是第0个参数为行数,第1个参数为列数,所以a点应该表示成img[1,9],同样b点则是以img[7,2]表示的。
下面用代码验证下,先创建一个10行16列的二维数组:
import numpy as np
import cv2
img = np.arange(0, 160, step=1,dtype=np.uint8)
img = img.reshape(10,16)
print('img.shape',img.shape)
print(img)
接下来访问a点(x,y)=(9,1)和b点(x,y)=(2,7),读出这2个位置的值:
print('a点,img[1,9]:',img[1,9])
print('b点,img[7,2]:',img[7,2])
结果:
a点,img[1,9]: 25
b点,img[7,2]: 114