Đây là chương trình xử lý ảnh dùng để dán nhãn cho các phần tử có quan hệ với nhau sau đó tách chủng ra từng loại riêng biệt.
Thuật toán rất đơn giản. Biến ảnh màu thành ảnh đen trắng  (bằng cách sử dụng hàm im2bw())  -> biến các phần từ thành màu trắng (bằng cách sử dụng hàm imfill(...,'holes'))->  dán nhãn cho các phần tử  -> tách riêng từng phần tử
 
Code chương trình:
A=imread('coins.png');
figure,imshow(A); title('Original Image');
%Convert the Image to binary
B=im2bw(A);
%Fill the holes
C=imfill(B,'holes');

%Label the connected components
[Label,Total]=bwlabel(C,8);
figure,imshow(C); title('Labelled Image');
%Rectangle containing the region
Sdata=regionprops(Label,'BoundingBox');

%Crop all the Coins 
for i=1:Total
 Img=imcrop(A,Sdata(i).BoundingBox);
 Name=strcat('Object Number:',num2str(i));
 figure,imshow(Img); title(Name);
end
Các bạn có thể thực hành với ảnh sau:
thuchanh

0 nhận xét:

Cảm nhận Học viên

Matlabthayhai. Powered by Blogger.