Hi Alvaro,
I believe the issue is due to the line below,
cfg.CustomInclude = fullfile('/usr/include/opencv4');
For hardware deployment workflow, cfg.CustomInclude prepends the host working directory structure to create the following structure
-I/home/alvaro/remoteBuildDir/MATLAB_ws/R2019b/usr/include/opencv4
-I/home/alvaro/remoteBuildDir/MATLAB_ws/R2019b/usr/include/opencv4/opencv2
Rather than,
-I/usr/include/opencv4
-I/usr/include/opencv4/opencv2
To resolve the issue you can try one of the two approaches
1) Rename /usr/include/opencv4/opencv2 to /usr/include/opencv2
mv /usr/include/opencv4/opencv2 /usr/include/opencv2
This should ensure that the compiler is able to find opencv2/opencv.hpp under /usr/include/
2) Use coder.updateBuildInfo('addIncludePaths', '/usr/include/opencv4/');
function out = segnet_predict(in)
opencv_link_flags = '`pkg-config --cflags --libs opencv`';
coder.updateBuildInfo('addLinkFlags',opencv_link_flags);
coder.updateBuildInfo('addIncludePaths', '/usr/include/opencv4/');
persistent mynet;
if isempty(mynet)
mynet = coder.loadDeepLearningNetwork('SegNet.mat');
end
out = predict(mynet,in);
Hari
Best Answer