correct quadrant and angle when not using roipoly

1 次查看(过去 30 天)
Hi I'm trying to make 2 objects in a picture the points of interest however, the problem I'm facing is that I can't get the angle of the point of interest. the simpler solution would be to do it with roipoly but then i wont understand the how...
The picture contains the 2 lego platforms I intend to mark as points of interests but when selecting the right one I get a square with the background table. So in the code I need to account for the angle, I'm trying to make all my codes more general purpouse hens the switch case i know i should implement it in a loop for more objects than two but that comes later at the moment i just need to solve this hurdle.
cam = webcam;
img_piece = snapshot(cam);
figure;imshow(img_piece);
hold on;
roi1 = drawpolygon;
mask1 = createMask(roi1);
draw(roi1);
mask2 = createMask(roi1);
mask = mask1 + mask2;
pause
maskedImg = img_piece;
for i = 1:size(img_piece,1)
for j = 1:size(img_piece,2)
if ~mask(i,j)
maskedImg(i,j,:) = [0 0 0];
end
end
end
figure;imshow(maskedImg);
%% EDIT: the code now contains the correct answer but for multiple uses you need to make it your own

采纳的回答

Image Analyst
Image Analyst 2021-1-2
编辑:Image Analyst 2021-1-2
You need to use roipolyold() or drawpolygon() instead of all that with ginput(), etc.
  5 个评论
slowlearner
slowlearner 2021-1-5
I'm at a loss I just don't know how to "turn of" everything but the region drawn by the drawpolygon() function because i get a 4x2 array and don't know how to make that into the "area" if the angle is unknown. I guess i could work one out with cosinrule and sin but is this really the easiest way to code? Then I might just aswell keep the ginput() and start the maths....
slowlearner
slowlearner 2021-1-5
There is! just needed to add mask = createMask() updating the thread and thanking you for the guidance.

请先登录,再进行评论。

更多回答(0 个)

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by