MATLAB顏色識別

2021-09-25 08:16:55 字數 2162 閱讀 9228

1、初步定位相片中路由器的位置

2、識別指示燈顯示什麼顏色

3、依據指示燈情況初步判斷故障原因

我這裡首先想蹲個坑回頭繼續補上,2023年

gray=rgb2gray(image);

r=image(:,:,1); g=image(:,:,2); b=image(:,:,3);

figure(1),

subplot(2,2,1),imshow(image),title('image')

subplot(2,2,2),imshow(r),title('r')

subplot(2,2,3),imshow(g),title('g')

subplot(2,2,4),imshow(b),title('b')

diff_r=110; diff_g=20; diff_b=10; % 設定紅、綠、藍三種顏色提取閾值(越大越嚴格)

% 紅色提取

image_r=image;

rp_r=image(:,:,1); rp_g=image(:,:,2); rp_b=image(:,:,3);

figure(2),

subplot(2,2,1),imshow(image),title('image')

subplot(2,2,2),imshow(rp_r),title('rp_rr')

subplot(2,2,3),imshow(rp_g),title('rp_gg')

subplot(2,2,4),imshow(rp_b),title('rp_bb')

xyr=~((r-g)>diff_r&(r-b)>diff_r); % 提取紅色條件是r分量與g、b分量差值大於設定

mask=gray(xyr); % 灰**掩膜

rp_r(xyr)=mask; rp_g(xyr)=mask; rp_b(xyr)=mask; % 使得非紅色區域變為灰色

image_r(:,:,1)=rp_r; image_r(:,:,2)=rp_g; image_r(:,:,3)=rp_b;

% 綠色提取

image_g=image;

gp_r=image(:,:,1); gp_g=image(:,:,2); gp_b=image(:,:,3);

xyg=~((g-r)>diff_g&(g-b)>diff_g); % 提取綠色條件是g分量與r、b分量差值大於設定

% mask=gray(xyg); % 灰**掩膜

mask=0;

gp_r(xyg)=mask; gp_g(xyg)=mask; gp_b(xyg)=mask; % 使得非綠色區域變為灰色

image_g(:,:,1)=gp_r; image_g(:,:,2)=gp_g; image_g(:,:,3)=gp_b;

% 藍色提取

image_b=image;

bp_r=image(:,:,1);bp_g=image(:,:,2);bp_b=image(:,:,3);

xyb=~((b-r)>diff_b&(b-g)>diff_b); % 提取綠色條件是g分量與r、b分量差值大於設定

mask_b=gray(xyb); % 灰**掩膜

bp_r(xyb)=mask_b; bp_g(xyb)=mask_b; bp_b(xyb)=mask_b; % 使得非藍色區域變為灰色

image_b(:,:,1)=bp_r; image_b(:,:,2)=bp_g; image_b(:,:,3)=bp_b;

% 顯示結果

figure

subplot(2,2,1),imshow(image); title('image');

subplot(2,2,2),imshow(image_r); title('red pass');

subplot(2,2,3),imshow(image_g); title('green pass');

subplot(2,2,4),imshow(image_b); title('blue pass');

figure,

subplot(1,2,1),imshow(image); title('image');

subplot(1,2,2),imshow(image_g); title('green pass');

% 顯示原圖與r/g/b三色提取結果對比圖並顯示標籤

7月17日15:24:56

opencv 顏色識別

include include opencv2 highgui highgui.hpp include opencv2 imgproc imgproc.hpp using namespace cv using namespace std int main int argc,char argv nam...

OpenCV顏色識別

hsv模型中顏色的引數分別是 色調 h hue 飽和度 s saturation 亮度 v value 由a.r.smith在1978年建立的一種顏色空間,也稱六角錐體模型 hexcone model 設 r,g,b 分別是乙個顏色的紅 綠和藍座標,它們的值是在 0 到 1 之間的實數。設 max ...

Matlab 口罩識別

課題背景 作為數字影象處理和計算機視覺領域的乙個重要組成部分,利用攝像機對影象進行採集,從影象中檢測人臉並進行口罩穿戴的識別的有著非常重要的研究意義和應用價值。面對突如其來的新型肺炎疫情,人們生活秩序被嚴重打亂。跟普通流感不同,此次疫情可以通過人體唾沫傳播,感染他人能力很強。近期,面對疫情,市面上口...