我想从图像中提取绿色区域(仪表显示)。这里我附上了一个数字电表的图像。我想只提取包含抄表值的区域。如果我只检测到绿色区域,那么也会检测到其他绿色区域,但我想仅检测包含仪表读数的绿色区域。我怎么能在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);
答案 0 :(得分:1)
将结果二进制化:
binary = imbinarize(diff_im, 25/255); % optimal threshold would be between 22 and 25
figure,imshow(binary);
您之后也可以进行形态学操作,例如:形态开放以消除其他区域的残羹剩饭。