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