Matlab 用拼图块标记图像

Matlab 用拼图块标记图像,matlab,Matlab,我有一张图片,上面是拼图的不同部分。我想用matlab编写一个程序,让我能够在一张图片上得到每个拼图的不同部分。到目前为止,我只是设法得到不同的部分在二进制图片,而不是在彩色图片。有人有主意吗 我的代码: close all; clc A = imread('pieces.jpg'); figure, imshow(A); title('Original Image'); level = graythresh(A); %D = im2gray(A); B = ~im2bw(A, 0.672);

我有一张图片,上面是拼图的不同部分。我想用matlab编写一个程序,让我能够在一张图片上得到每个拼图的不同部分。到目前为止,我只是设法得到不同的部分在二进制图片,而不是在彩色图片。有人有主意吗

我的代码:

close all;
clc
A = imread('pieces.jpg');
figure, imshow(A);
title('Original Image');
level = graythresh(A);
%D = im2gray(A);
B = ~im2bw(A, 0.672);
figure, imshow(B);
C = imfill(B, 'holes');
figure, imshow(C);
label = bwlabel(C);
max(max(label))
for j = 1:max(max(label))
[row,col] = find(label==j);
len=max(row)-min(row)+2;
breadth=max(col)-min(col)+2;
target=uint8(zeros([len breadth]));
sy = min(col)-1;
sx = min(row)-1;
for i=1:size(row,1)
x=row(i,1) - sx;
y=col(i,1) - sy;
target(x,y) = A(row(i,1),col(i,1));
end
figure,imshow(target);
end```


 

这不是一个很有意思的问题。请把照片贴上去。