Đâ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 trên
0 nhận xét:
Post a Comment