python opencv 读取图像中不为0的像素值

使用情况

用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

你可能感兴趣的:(笔记,opencv,python,计算机视觉)