利用Matlab實(shí)現(xiàn)圖像亮度分布統(tǒng)計(jì)圖
寫了一個(gè)輸入圖片,便會(huì)生成美觀的圖像各通道亮度分布圖的函數(shù),大概效果如下:


老樣子,工具函數(shù)放在最前面,之后會(huì)介紹咋用這個(gè)函數(shù):
工具函數(shù)
function HistogramPic(pic)
FreqNum=zeros(size(pic,3),256);
for i=1:size(pic,3)
for j=0:255
FreqNum(i,j+1)=sum(sum(pic(:,:,i)==j));
end
end
ax=gca;hold(ax,'on');box on;grid on
if size(FreqNum,1)==3
bar(0:255,FreqNum(1,:),'FaceColor',[0.6350 0.0780 0.1840],'FaceAlpha',0.5);
bar(0:255,FreqNum(2,:),'FaceColor',[0.2400 0.5300 0.0900],'FaceAlpha',0.5);
bar(0:255,FreqNum(3,:),'FaceColor',[0 0.4470 0.7410],'FaceAlpha',0.5);
ax.XLabel.String='RGB brightness';
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.9412 0.9412 0.9412],...
'FontName','Cambria','LineWidth',0.8,'FontSize',11);
else
bar(0:255,FreqNum(1,:),'FaceColor',[0.50 0.50 0.50],'FaceAlpha',0.5);
ax.XLabel.String='Gray scale';
krange=[num2str(min(pic(:,:,1),[],[1,2])),' , ',num2str(max(pic(:,:,1),[],[1,2]))];
legend(['Gray: range[',krange,']'],...
'Location','northwest','Color',[0.9412 0.9412 0.9412],...
'FontName','Cambria','LineWidth',0.8,'FontSize',11);
end
ax.LineWidth=1;
ax.GridLineStyle='--';
ax.XLim=[-5 255];
ax.XTick=[0:45:255,255];
ax.YLabel.String='Frequency number';
ax.FontName='Cambria';
ax.FontSize=13;
end函數(shù)調(diào)用
非常簡(jiǎn)單的使用方法,就是讀取圖片后調(diào)用函數(shù)即可:
pic=imread('test.png');
HistogramPic(pic)若圖像是彩圖則效果如下:


若圖像為灰度圖則效果如下:


以上就是利用Matlab實(shí)現(xiàn)圖像亮度分布統(tǒng)計(jì)圖的詳細(xì)內(nèi)容,更多關(guān)于Matlab亮度分布統(tǒng)計(jì)圖的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
詳解C++中的const關(guān)鍵字及與C語(yǔ)言中const的區(qū)別
這篇文章主要介紹了C++中的const關(guān)鍵字及與C語(yǔ)言中const的區(qū)別,const將所修飾的變量對(duì)象轉(zhuǎn)化為常量,需要的朋友可以參考下2016-04-04
matlab鳥群算法求解車間調(diào)度問題詳解及實(shí)現(xiàn)源碼
這篇文章主要為大家介紹了matlab鳥群算法求解車間調(diào)度的問題分析及實(shí)現(xiàn)源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-02-02
C++中可以接受任意多個(gè)參數(shù)的函數(shù)定義方法(詳解)
下面小編就為大家?guī)?lái)一篇C++中可以接受任意多個(gè)參數(shù)的函數(shù)定義方法(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2016-10-10
一起來(lái)學(xué)習(xí)C++的動(dòng)態(tài)內(nèi)存管理
這篇文章主要為大家詳細(xì)介紹了C++的動(dòng)態(tài)內(nèi)存管理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-03-03

