一、题目设置及准备工作
test.rgb文件分辨率为256*256,数据格式为每个像素占用3字节,BGRBGR…保存。拿到文件可以先计算一下文件大小是否为宽×高×3字节。
要求计算rgb文件三通道分量的熵。
验证:在python中将test.rgb文件读入,并取出数据,检测数据变量rgb的大小。代码如下:
fp=open("test.rgb","rb")
rgb=fp.read()
fp.close()
rgb的大小显示如下:

196608=256×256×3,验证得文件大小为宽×高×3字节。
本实验用pycharm环境、python语言实现。
二、代码实现
1、引入库
import numpy as np
import matplotlib.pyplot as plt
import math
2、读入rgb文件并提取数据
fp=open("test.rgb","rb")
rgb=fp.read()
fp.close()
w,h=256,256
rgb=[int(x) for x in rgb]
rgb=np.array(rgb).reshape((w,h,3))
3、显示原始图像
plt.figure(1)
plt.imshow(rgb)

4、统计求出BGR三通道分量的灰度值概率分布并绘图
p=np.zeros

该博客介绍了一种使用Python计算RGB图像各通道灰度值概率分布及其熵的方法。首先验证了test.rgb文件的大小,然后通过numpy和matplotlib库读取和显示图像,接着统计每个通道的灰度值频率并绘制概率分布图。最后,计算并输出了BGR三通道的熵,分别为6.856861217、7.178556717和7.22965147。
最低0.47元/天 解锁文章
2011

被折叠的 条评论
为什么被折叠?



