matlab 直方图_MATLAB作图实例:19:用二元直方图分析图片颜色
本示例說明如何調整二元直方圖的顏色標度(color scale),以顯示有關分箱(bin)的其他詳細信息。
加載圖像peppers.png,該圖像是幾種類型的辣椒和其他蔬菜的彩色照片。無符號的8位整數數組rgb包含圖像數據。
rgb = imread('peppers.png');%讀入圖片到矩陣imshow(rgb)%顯示矩陣內容為每個像素繪制紅色和綠色RGB值的二元直方圖,以可視化顏色分布。
r = rgb(:,:,1);%讀入矩陣分量g = rgb(:,:,2);b = rgb(:,:,3);histogram2(r,g,'DisplayStyle','tile','ShowEmptyBins','on', ...'XBinLimits',[0 255],'YBinLimits',[0 255]);%二元直方圖axis equal%等比例軸距colorbar%色標xlabel('Red Values')ylabel('Green Values')title('Green vs. Red Pixel Components')直方圖在色標的底部有很大的權重,因為有一些bin的計數很大。這導致大多數垃圾箱在顏色圖中顯示為藍色的第一種顏色。如果沒有其他細節,就很難得出哪種顏色更占優勢的結論。
要查看更多詳細信息,請通過將CLim軸的屬性設置為介于0和500之間的范圍來重新縮放直方圖顏色比例。結果是,計數為500或更大的直方圖容器顯示為顏色圖中的最后一種顏色,即黃色。由于大多數箱計數在此較小范圍內,因此所顯示bin的顏色變化較大。
ax = gca;ax.CLim = [0 500];%將之前的映射范圍0~約37000調整為映射到0~500使用類似的方法比較紅色與藍色和綠色與藍色的優勢。
histogram2(r,b,'DisplayStyle','tile','ShowEmptyBins','on',...'XBinLimits',[0 255],'YBinLimits',[0 255]);axis equalcolorbarxlabel('Red Values')ylabel('Blue Values')title('Blue vs. Red Pixel Components')ax = gca;ax.CLim = [0 500]; histogram2(g,b,'DisplayStyle','tile','ShowEmptyBins','on',...'XBinLimits',[0 255],'YBinLimits',[0 255]);axis equalcolorbarxlabel('Green Values')ylabel('Blue Values')title('Green vs. Blue Pixel Components')ax = gca;ax.CLim = [0 500];在每種情況下,藍色是最不重要的顏色信號。查看所有三個直方圖,紅色似乎是主要顏色。
通過在RGB顏色空間中創建顏色直方圖來確認結果。所有三個顏色分量都有較小的RGB值尖峰。但是,高于100的值在紅色部分比其他任何地方更頻繁地出現。
histogram(r,'BinMethod','integers','FaceColor','r','EdgeAlpha',0,'FaceAlpha',1)%直方圖hold onhistogram(g,'BinMethod','integers','FaceColor','g','EdgeAlpha',0,'FaceAlpha',0.7)%直方圖histogram(b,'BinMethod','integers','FaceColor','b','EdgeAlpha',0,'FaceAlpha',0.7)%直方圖xlabel('RGB value')ylabel('Frequency')title('Color histogram in RGB color space')xlim([0 257])注:本文根據MATLAB官網內容修改而成。
我推薦給你以下的視頻教程,特點是沒有PPT,不摻水,直接編程環境下的實操課程: 用100分鐘了解MATLAB編程
知乎 - 安全中心?www.1data.pro《MATLAB編程360》視頻課程:
MATLAB編程360 - 網易云課堂study.163.com?study.163.com總結
以上是生活随笔為你收集整理的matlab 直方图_MATLAB作图实例:19:用二元直方图分析图片颜色的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 百度广告点击软件_网络营销百问百答之64
- 下一篇: python调用接口上传文件_pytho