img.item()跟img[x,y]
简述
首先,cv2.imread()读取的图片默认情况下为彩图(三管道图片)
所以,在定位到对应(x,y) ( x , y ) 像素点上的时候,得到的就是三维向量
如下代码
代码
import cv2
img = cv2.imread('Desktop.jpg')
for i in range(3):
print(img.item(150, 120, i), end=' ')
print()
print(img[150, 120])
输出的结果是
22 16 9
[22 16 9]
解析:
通过img.item()操作,可以直接定位到对应的区域。
同样,通过img[a,b]操作也是可以直接定位到对应的pixel(像素)
可以通过下面的代码来进行对比
import cv2
img = cv2.imread('Desktop.jpg')
for i in range(3):
print(img.item(150, 120, i), end=' ')
print()
for i in range(3):
print(img[150, 120, i], end=' ')
print()
输出结果是:
22 16 9
22 16 9
区别:
import cv2
img = cv2.imread('Desktop.jpg')
print(img.item(150, 120))
结果就是下面的错误
Traceback (most recent call last): File "D:/Code/Python/Project/opencv/test.py", line 3, in <module> print(img.item(150, 120)) ValueError: incorrect number of indices for array
但是我们之前在上面也看到了,其实是可以实现直接通过切片的方式来访问的。
还没有评论,来说两句吧...