Я пытаюсь обрезать изображение, но не с прямоугольником (например, в imcrop()
), но с полигоном с четырьмя углами. Я много искал и обнаружил, что мне нужно выполнить гомографию, чтобы перерисовать обрезанный многоугольник в прямоугольник.Обрезать и преобразовать изображение в Matlab
Так я использовал imcrop()
выбрать полигон в изображении:
img = imread('pout.tif');
imshow(img);
h = impoly;
position = wait(h);
x1 = min(position(:, 1));
x2 = max(position(:, 1));
y1 = min(position(:, 2));
y2 = max(position(:, 2));
BW = createMask(h);
Как я мог бы использовать эти две вещи, чтобы обрезать область в виде многоугольника с четырьмя углами?
Чтобы просто обрезать область, см., Например: http://stackoverflow.com/questions/20130210/ (используя 'imfreehand', но основная идея такая же для' impoly'). – nkjt