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

1 view (last 30 days)
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

Answers (4)

Matt J
Matt J on 4 Jan 2023
Edited: Matt J on 4 Jan 2023
What about regionprops(____"Orientation')?
  9 Comments
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?

Sign in to comment.


Matt J
Matt J on 6 Jan 2023
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 Comments
Matt J
Matt J on 6 Jan 2023
Edited: Matt J on 6 Jan 2023
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.

Sign in to comment.


Image Analyst
Image Analyst on 6 Jan 2023
See attached demo.

Image Analyst
Image Analyst on 6 Jan 2023
See attached demo.
  2 Comments
Matt J
Matt J on 6 Jan 2023
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 on 6 Jan 2023
Edited: Image Analyst on 6 Jan 2023
@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.

Sign in to comment.

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!