1. 程式人生 > >matlab進階摸索篇——彩色圖求直方圖

matlab進階摸索篇——彩色圖求直方圖

首先要知道彩色圖是沒有直方圖的,只能在rgb方向分別求直方圖在合併一下。

乾脆不用這麼麻煩,用rgb2gray轉到灰度圖,再在二維上進行直方圖繪製,最後還提供了程式碼,找出直方圖中橫座標(畫素值)為50以下的縱座標(以此為畫素的個數)的和。

close all
clear all
clc
blockSize=15;               %每個block為15個畫素
w0=0.6;                    
t0=0.1;
% A=200;
I=imread('D:\Images\pic_loc\1870575550604291415.jpg');
h = figure;
set(gcf,'outerposition',get(0,'screensize'));%獲得SystemScreenSize 傳遞給當前影象控制代碼gcf的outerposition屬性
subplot(221) %表示2(行數)*2(列數)的影象,1代表所畫圖形的序號
imshow(I);
title('Original Image');


subplot(222);
grayI=rgb2gray(I);
imshow(grayI,[]);
title('原影象灰度圖')

subplot(223);
imhist(grayI,64);

%統計<50的畫素所佔的比例
%%%%%%%%%%%%%%%%%%%%%%
[COUNT x]=imhist(grayI);
under_50=0;
for i=0:50
    under_50=under_50+COUNT(x==i);
end
under_50
total=size(I,1)*size(I,2)*size(I,3);
percent=under_50/total
percent
%%%%%%%%%%%%%%%%%%%%%%