How to find the angle of object by using other function instead of using minFeretProperties because it is not supported for code generation.
2 views (last 30 days)
Show older comments
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
0 Comments
Answers (4)
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)
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
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.
Image Analyst
on 6 Jan 2023
See attached demo.
2 Comments
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.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!