怎么用Matlab实现图像亮度分布统计图
导读:本文共1677.5字符,通常情况下阅读需要6分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 写了一个输入图片,便会生成美观的图像各通道亮度分布图的函数,大概效果如下:老样子,工具函数放在最前面,之后会介绍咋用这个函数:工具函数functionHistogramPic(pic)FreqNum=zeros(size(pic,3),256);fori=1:size(pic,3)forj=0:255FreqNum(i,j+1)=sum(sum(pic(... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。写了一个输入图片,便会生成美观的图像各通道亮度分布图的函数,大概效果如下:
老样子,工具函数放在最前面,之后会介绍咋用这个函数:
工具函数
functionHistogramPic(pic)FreqNum=zeros(size(pic,3),256);fori=1:size(pic,3)forj=0:255FreqNum(i,j+1)=sum(sum(pic(:,:,i)==j));endendax=gca;hold(ax,'on');boxon;gridonifsize(FreqNum,1)==3bar(0:255,FreqNum(1,:),'FaceColor',[0.63500.07800.1840],'FaceAlpha',0.5);bar(0:255,FreqNum(2,:),'FaceColor',[0.24000.53000.0900],'FaceAlpha',0.5);bar(0:255,FreqNum(3,:),'FaceColor',[00.44700.7410],'FaceAlpha',0.5);ax.XLabel.String='RGBbrightness';rrange=[num2str(min(pic(:,:,1),[],[1,2])),',',num2str(max(pic(:,:,1),[],[1,2]))];grange=[num2str(min(pic(:,:,2),[],[1,2])),',',num2str(max(pic(:,:,2),[],[1,2]))];brange=[num2str(min(pic(:,:,3),[],[1,2])),',',num2str(max(pic(:,:,3),[],[1,2]))];legend({['R:range[',rrange,']'],['G:range[',grange,']'],['B:range[',brange,']']},...'Location','northwest','Color',[0.94120.94120.9412],...'FontName','Cambria','LineWidth',0.8,'FontSize',11);elsebar(0:255,FreqNum(1,:),'FaceColor',[0.500.500.50],'FaceAlpha',0.5);ax.XLabel.String='Grayscale';krange=[num2str(min(pic(:,:,1),[],[1,2])),',',num2str(max(pic(:,:,1),[],[1,2]))];legend(['Gray:range[',krange,']'],...'Location','northwest','Color',[0.94120.94120.9412],...'FontName','Cambria','LineWidth',0.8,'FontSize',11);endax.LineWidth=1;ax.GridLineStyle='--';ax.XLim=[-5255];ax.XTick=[0:45:255,255];ax.YLabel.String='Frequencynumber';ax.FontName='Cambria';ax.FontSize=13;end
函数调用
非常简单的使用方法,就是读取图片后调用函数即可:
pic=imread('test.png');HistogramPic(pic)
若图像是彩图则效果如下:
若图像为灰度图则效果如下:
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:
怎么用Matlab实现图像亮度分布统计图的详细内容,希望对您有所帮助,信息来源于网络。