%% 学习目标:学习一个案例:背景分离和RGB等特征提取
clear all;
close all
clc
I = imread('01.jpg');
whos
%%
I_Gray=rgb2gray(I);
imhist(I_Gray);
I_Bw=im2bw(I,140/255);
figure;
subplot(1,3,1),imshow(I),title('原图');
subplot(1,3,2),imshow(I_Gray),title('灰度图');
subplot(1,3,3),imshow(I_Bw),title('二值图');
I_R=I(:,:,1);
I_G=I(:,:,2);
I_B=I(:,:,3);
%% R-B背景分割
I_RB=I_R-I_B;
figure,imhist(I_RB);
I_Bw2=im2bw(I_RB,50/255);
I_Bw2Fill=imfill(I_Bw2,'holes');
figure;
imshow(I_RB),title('R-B');
imshow(I_Bw2),title('二值图');
imshow(I_Bw2Fill),title('填充点');
I_R1=uint8(I_Bw2Fill).*I_R;
I_G1=uint8(I_Bw2Fill).*I_G;
I_B1=uint8(I_Bw2Fill).*I_B;
I_rgb=cat(3,I_R1,I_G1,I_B1);
figure,imshow(I_rgb);
%% RGB特征提取
I_r=I_rgb(:,:,1);
I_g=I_rgb(:,:,2);
I_b=I_rgb(:,:,3);
I_rr=I_r(I_r>0);
I_gg=I_g(I_g>0);
I_bb=I_b(I_b>0);
r_mean=mean(I_rr),
g_mean=mean(I_gg),
b_mean=mean(I_bb),
%% hsv特征提取
I_hsv=rgb2hsv(I_rgb);
figure,imshow(I_hsv),title('hsv图');
I_h=I_hsv(:,:,1);
I_s=I_hsv(:,:,2);
I_v=I_hsv(:,:,3);
h=I_hsv;h(:,:,[2 3])=0;
s=I_hsv;s(:,:,[1 3])=0;
v=I_hsv;v(:,:,[1 2])=0;
figure,subplot(1,3,1);imshow(h);
subplot(1,3,2);imshow(s);
subplot(1,3,3);imshow(v);
I_hh=I_h(I_h>0);
I_ss=I_s(I_s>0);
I_vv=I_v(I_v>0);
h_mean=mean(I_hh),
s_mean=mean(I_ss),
v_mean=mean(I_vv),
%%
%% 大仙QQ:1960009019
%% 在线教育微信公众号:大仙一品堂
%% 大鱼号:在线教育大仙一品堂
%% 一点资讯号:大仙一品堂