How to Crop A bunch of image with same box but different position

조회 수: 2 (최근 30일)
Martino Corno
Martino Corno 2020년 3월 23일
댓글: Martino Corno 2020년 3월 28일
Hi ,
I'm trying to cropping polygons out of a bunch of images where the polygon's dimention and shape is always the same but I can choose the position changing the center or a vertex. I already made a code that allow me to do this with a rectangle but i want to change the shape. Anyone can help me please?
figure
imshow(read(DatabaseTest , i))
hold on
[x0,y0] = ginput(1);
J = imadjust(rgb2gray(read(DatabaseTest , i)));
ImageTest = imcrop(J,[x0 - width / 2,y0 - height / 2,width,height]);
this is a part of a code able to extract HOG Features so I change rgb2gray to reduce noise effects (if you want you can also suggest me any tips).

채택된 답변

Ani Singh
Ani Singh 2020년 3월 26일
You can do this by using roipoly function.
I am attaching sample script for it :
% read the image
input = imread (I)
%Co-ordinates of selected area(change thee according to your requirements)
r=[40 204 267 102];
c=[136 125 210 219];
BW=roipoly(input,r,c);
%replacing white area with the desired image
out=zeros(size(BW,1),size(BW,2));
out = gray .* uint8(BW); %store those pixels in output which are selected, can be done by 2 for loops also
imshow(out)
  댓글 수: 1
Martino Corno
Martino Corno 2020년 3월 28일
Thanks very much,
I understood what this code want to performe but 'BW' and 'gray' are not the same class of integer . I copied and pasted your code, but the matrix moltiplication doesn't seems to work for my case, I also change with function uint8 the class of matrix 'gray' but it doesn't work as well . Do you have any suggestion?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

제품


릴리스

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by