使用python-opencv 统计二值图像中白色像素点的个数(表示面积)

Posted make_magic

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用python-opencv 统计二值图像中白色像素点的个数(表示面积)相关的知识,希望对你有一定的参考价值。

代码实现如下所示,如果有错误或者理解不到位的地方还请各位指正!

import cv2

#method1
def area1(image):
    list=[]
    h,w=image.shape[0],image.shape[1]
    for i in range(h):
        for j in range(w):
                if image[i][j]!=0:
                    coor=(j,i)
                    list.append(coor)
    return len(list)

#method2
def area2(image):
    sum=0
    h,w=image.shape[0],image.shape[1]
    for i in range(h):
        for j in range(w):
                if image[i][j]==255:
                    sum+=1
    return sum

#method3
def area3(image):
    sum=0
    h,w=image.shape[0],image.shape[1]
    for i in range(h):
        for j in range(w):
                if image[i][j].all()>0:
                    sum+=1
    return sum

if __name__ == '__main__':
    #opencv读取图像时默认为三通道,只有在灰度处理后才会显示单通道
    image=cv2.imread('temb.png',-1)
    print('二值图像白色像素个数(表征面积):',area1(image))
    print('二值图像白色像素个数(表征面积):', area2(image))
    print('二值图像白色像素个数(表征面积):', area3(image))




以上是关于使用python-opencv 统计二值图像中白色像素点的个数(表示面积)的主要内容,如果未能解决你的问题,请参考以下文章

python-opencv-图像的按位运算

python-opencv获取二值图像轮廓及中心点坐标

Python-OpenCV中的图像轮廓检测

如何用matlab计算二值化图中白色区域的像素点个数

python-opencv轮廓基本绘制

Python使用openCV把原始彩色图像转化为灰度图使用OpenCV把图像二值化(仅仅包含黑色和白色的简化版本)基于自适应阈值预处理(adaptive thresholding)方法