Итак, я работал над обнаружением номерного знака в Matlab. Я создал желаемую маску и соединил ее с исходным изображением. Теперь я хочу извлечь только маскированную область и не могу найти способ сделать это. Любая помощь будет оценена.
Вот то, что я до сих пор закодировал.
Im = imread("RPImage.jpg");
I = rgb2gray(Im);
I = medfilt2(I);
J = histeq(I);
%imshow(J)
[~,threshold] = edge(I,'sobel');
fudgeFactor = 0.5;
BWs = edge(I,'sobel',threshold * fudgeFactor);
%imshow(BWs)
BWs = bwareaopen(BWs, 8);
%imshow(BWs)
BWfill = imfill(BWs,'holes');
%imshow(BWfill)
mask = bwareaopen(BWfill, 1000);
%imshow(mask)
seD = strel('diamond',1);
BWfinal = imerode(mask,seD);
BWfinal = imerode(BWfinal,seD);
%imshow(BWfinal)
%title('Segmented Image');
imshow(labeloverlay(Im,BWfinal))
title('Mask Over Original Image')
И это вывод: