我试图在我的matlab脚本中裁剪多个图像,但我无法让它工作,我的代码现在看起来像这样:
close all
clear all
clc
A= imread('Ring_background_2.jpg');
jpgFiles = dir('*.jpg');
numFiles = length(jpgFiles);
mydata = cell(1,numFiles);
imcrop(A,[101 159 1047 342])
% mydata = zeros(numFiles);
for k = 1:numFiles
mydata{1,k} = imread(jpgFiles(k).name);
cropdata{1,k}=imcrop(mydata{1,k},[101 159 1047 342])
end
for k=1:numFiles
C=imabsdiff(A,cropdata{1,k});
E= im2bw(C,0.11);
figure;
imshow(E);
s = regionprops(E,'centroid');
data{k} = reshape([s.Centroid],2,[]).';
end
for k = 1 : numFiles
csvwrite(sprintf('data%d.csv', k), data{k});
end
我试图将'mydata'裁剪成'cropdata',但我收到了这个错误:
使用checkForSameSizeAndClass时出错(第12行)X和Y必须是 相同的大小。
imabsdiff中的错误(第46行)checkForSameSizeAndClass(X,Y, mfilename);
imba出错(第16行) C = imabsdiff(A,cropdata {1,K});