How to find the angle of object by using other function instead of using minFeretProperties because it is not supported for code generation.

1 次查看(过去 30 天)
I need to deploy my algorithm to NVIDIA Jetson and I have created my coding and ready for code generation using MATLAB Coder. Unfortunately, the process for code generation is unsuccessful as the minFeretProperties is not supported for code generation. Can anyone help me to detect the angle of object using other way or function?. I am running out of time. Thank you

回答(4 个)

Matt J
Matt J 2023-1-4
编辑:Matt J 2023-1-4
What about regionprops(____"Orientation')?
  9 个评论
Nurul Farhana Mohd Fadzli
Thank you sir, it works but the angles are sometimes not correct but i will try. Sir, how can I display the output image with the angle on it?

请先登录,再进行评论。


Matt J
Matt J 2023-1-6
Here is possibly another way to compute the MinFeretAngle, based on radon. According to the documentation, the Coder does support it.
load('BWImage');
BW=imrotate(BW0,-30,'crop');
immontage({BW0,BW},'Border',5,'Back','w');
minferetAngle(BW)
ans = -30
function out=minferetAngle(BW)
t=linspace(0,180,1000); t(end)=[];
[~,i]=min(max(radon(BW,t)));
out=t(i)-90;
end
  2 个评论
Matt J
Matt J 2023-1-6
编辑:Matt J 2023-1-6
That seems unlikely. The only function it uses is radon(), linspace(), min(), and max(), as you can see. All of those are supported for Code Generation according to the documentation. Have you tried to compile it? If so, which command is it complaining about? You should always display results of things of you've tried so the discussion can progress more briskly.

请先登录,再进行评论。


Image Analyst
Image Analyst 2023-1-6
See attached demo.

Image Analyst
Image Analyst 2023-1-6
See attached demo.
  2 个评论
Matt J
Matt J 2023-1-6
This will not give the min feret angle because it looks at the global max over the radon transform. I think you need the min(max()) which ist what my version proposes.
Image Analyst
Image Analyst 2023-1-6
编辑:Image Analyst 2023-1-6
@Matt J yes, true it won't solve the problem and the feret diameter is the way to go. This (radon) suffers from the same problem as regionprops in that it tends to get the axis angled along a diagonal for a rectangle rather than along the axis parallel to the long edge. I just thought this might be a related topic that he might want to know about.

请先登录,再进行评论。

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by