나는 for-loop 용 matlab에서 일부 이미지를 자르고있다. 그러나, 나는 그렇게하기 위해 몇 가지 문제에 직면하고있다. 내 코드는 위의 것입니다 :루프를위한 matlab에서 이미지 자르기
clear
clc
dir
dir 'D:\christos\DATABASE\animal';
listing = dir('D:\christos\DATABASE\animal');
[m n] = size(listing);
for indx=3:m
listing(indx).name
A = imread(strcat('D:\christos\DATABASE\animal\' , listing(indx).name));
[t1 t2] = size(A); imshow(A);
A = imcrop(A, [ (1/3)*t1 (1/3)*t2 (2/3)*t1 (2/3)*t2 ]);
%A = imresize(A, [360, 280]);
imwrite(A, strcat('D:\christos\DAt\animal\animal_', int2str(indx-2) , '.jpg'));
end
일부 이미지에서는 적절한 이미지가 표시되지 않습니다. 이미지가 읽혀지고 크기가 t1 t2 인 것 외에도, 나는 원하는 방식으로자를 수 없으며 결과적으로 빈 A 이미지를 얻습니다.
그러면 자르기를 원하는 방식은 무엇입니까? 원하는 결과를 말씀해 주시겠습니까? – kkuilla
1/3x_max에서 2/3x_max까지 및 1/3y_max 2/3y_max에서 1/3x_max. –
일반적인 조언 : 코드에서 변수에 다른 이름을 지정하십시오. 'A = imcrop (A, ...)'라고 쓰면 이미지를 읽는 동안 또는 이미지를 자르는 동안 빈 행렬의 문제가 있는지 알 수 없습니다. – Adiel