用opencv读取一张图的不为零的像素值,看看到底值是多少。
需要注意,一张图可能是单通道的8位图,也可能是24位彩色图,极少见是8位彩色图。
需要按照对应的模式去读,不然读出来的值是不一样的。
代码import cv2
im1 = cv2.imread('/home/5.png', 1) # 1是按三通道读,0是按照单通道读
print(im1.shape)
m, n, p = im1.shape[0], im1.shape[1], im1.shape[2]
for i in range(m):
for j in range(n):
for k in range(p):
if im1[i][j][k] != 0:
print(i, j, k)
print(im1[i][j][k])
结果
632 778 2 128



