如何检测绿色区域(仪表显示)&使用MATLAB裁剪出来?

时间:2017-07-15 17:49:44

标签: matlab image-processing colors detection region

我想从图像中提取绿色区域(仪表显示)。这里我附上了一个数字电表的图像。我想只提取包含抄表值的区域。如果我只检测到绿色区域,那么也会检测到其他绿色区域,但我想仅检测包含仪表读数的绿色区域。我怎么能在MATLAB中做到这一点?

close all;
clear all;
clc;
Im = imread('2.jpg');
Im = imresize(Im, [512 512]);
diff_im = imsubtract(Im(:,:,2),rgb2gray(Im));
figure,imshow(diff_im);

Raw image

1 个答案:

答案 0 :(得分:1)

将结果二进制化:

binary = imbinarize(diff_im, 25/255); % optimal threshold would be between 22 and 25
figure,imshow(binary);

您之后也可以进行形态学操作,例如:形态开放以消除其他区域的残羹剩饭。