【图像处理】亮度累计与灰度图像直方图

2025-10-04 05:08:52

1、如果图中每个象素的亮度都是0,那么此图看上去就是黑色的。

a=img*0

【图像处理】亮度累计与灰度图像直方图

2、如果图中每个象素的亮度都是255,那么此图看上去就是白色的。

b=a+255

【图像处理】亮度累计与灰度图像直方图

3、灰度图正是依靠不同的亮度,才得以区分出不同的事物。

灰度图是单通道图片,不会出现彩色效果。

【图像处理】亮度累计与灰度图像直方图

4、下面统计图中亮度为50的象素的数目,在整个图片中所占的比例。

u,v=img.shape

k=0

for i in range(u):

    for j in range(v):

        if img[i,j]==50:

            k=k+1

print(k)

【图像处理】亮度累计与灰度图像直方图

5、这样,遍历整个图片,就得到了亮度为50的象素的数目。

但是,要统计出所有不同亮度的象素数,需要反复遍历图片256次吗?

其实不用,实际上遍历一次足矣。

c=[0]*256

每个象素,若亮度是a,就在c[a]的位置上加1。

for i in range(u):

    for j in range(v):

        c[img[i,j]]=c[img[i,j]]+1

print(c)

【图像处理】亮度累计与灰度图像直方图

6、上面统计出了不同亮度的象素数目,同时除以象素的总数目,就得到不同亮度在图中的比重。

c0=np.array(c)

c1=c0/(u*v)

实际上,u*v=sum(c)

【图像处理】亮度累计与灰度图像直方图

7、所谓的直方图,就是图象亮度的统计图。

plt.plot(c,color=g)

【图像处理】亮度累计与灰度图像直方图

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢