How can I use image processing functions such as imfindcircles in a simulink matlab function block? I get an error when I use this function.
2 views (last 30 days)
Show older comments
here is the function:
if true
% code
end
function y = fcn(u)
I1=u;
I2=imadjust(I1,[0.1 0.3],[0 1]);
[centers, radii] = imfindcircles(I2,[10 30],'ObjectPolarity','dark', 'Sensitivity',0.85);
diameter=radii.*2;
y = diameter;
here is the simulink error The function 'imfindcircles' is not supported for standalone code generation. See the documentation for coder.extrinsic to learn how you can use this function in simulation.
Function 'MATLAB Function' (#31.59.147), line 4, column 1: "[centers, radii] = imfindcircles(I2,[10 30],'ObjectPolarity','dark', 'Sensitivit" Launch diagnostic report. Component: MATLAB Function | Category: Coder error
0 Comments
Answers (2)
Steven Lord
on 19 Aug 2015
Did you do as the Simulink error suggested and take a look at the documentation for coder.extrinsic?
3 Comments
Steven Lord
on 20 Aug 2015
Taking a closer look at the tags, you're trying to generate code for a Raspberry Pi from this Simulink model? I'm not sure that will work; from the error message, Simulink doesn't know how to create the code to run on that processor for this function written as MATLAB code.
I'm not really familiar with Simulink code generation, that's just my assessment based on the text of the error, so take it with a grain of salt (and perhaps contact Technical Support to see if there is an alternative function you can use that is supported for code generation.)
Sean de Wolski
on 20 Aug 2015
You could also use an interpreted matlab function block so that Simulink doesn't generate code for it. You'll take a performance hit but it will run.
See Also
Categories
Find more on String in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!