溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用Matlab實現(xiàn)圖像亮度分布統(tǒng)計圖

發(fā)布時間:2022-05-18 11:45:55 來源:億速云 閱讀:320 作者:iii 欄目:開發(fā)技術

這篇文章主要講解了“怎么用Matlab實現(xiàn)圖像亮度分布統(tǒng)計圖”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么用Matlab實現(xiàn)圖像亮度分布統(tǒng)計圖”吧!

寫了一個輸入圖片,便會生成美觀的圖像各通道亮度分布圖的函數(shù),大概效果如下:

怎么用Matlab實現(xiàn)圖像亮度分布統(tǒng)計圖

怎么用Matlab實現(xiàn)圖像亮度分布統(tǒng)計圖

老樣子,工具函數(shù)放在最前面,之后會介紹咋用這個函數(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ù)調用

非常簡單的使用方法,就是讀取圖片后調用函數(shù)即可:

pic=imread('test.png');
HistogramPic(pic)

若圖像是彩圖則效果如下:

怎么用Matlab實現(xiàn)圖像亮度分布統(tǒng)計圖

怎么用Matlab實現(xiàn)圖像亮度分布統(tǒng)計圖

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

怎么用Matlab實現(xiàn)圖像亮度分布統(tǒng)計圖

怎么用Matlab實現(xiàn)圖像亮度分布統(tǒng)計圖

感謝各位的閱讀,以上就是“怎么用Matlab實現(xiàn)圖像亮度分布統(tǒng)計圖”的內容了,經過本文的學習后,相信大家對怎么用Matlab實現(xiàn)圖像亮度分布統(tǒng)計圖這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI