我想从图像中提取绿色区域(仪表显示)。在这里,我附上了一个图像,这是数字电表。我只想提取包含仪表读数的区域。如果我只检测到绿色区域,那么其他绿色区域也会被检测到,但我只想检测包含仪表读数的绿色区域。我如何在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);

发布于 2017-07-16 05:47:49
只需将结果二进制化:
binary = imbinarize(diff_im, 25/255); % optimal threshold would be between 22 and 25
figure,imshow(binary);你也可以在之后玩形态操作,例如,形态打开来移除其他区域的残留物。
https://stackoverflow.com/questions/45121131
复制相似问题