为 OpenCV 编译 MATLAB 绑定
Compile MATLAB bindings for OpenCV
我正在尝试编译OpenCV 3.0的MATLAB绑定,即来自Github的当前版本。我不断收到以下错误:
CMake Error at /opencv/modules/matlab/compile.cmake:47 (message):
Failed to compile createCalibrateDebevec:
/opencv/build/modules/matlab/src/createCalibrateDebevec.cpp:
In function ‘void mexFunction(int, mxArray**, int, const mxArray**)’:
/opencv/build/modules/matlab/src/createCalibrateDebevec.cpp:46:3:
error: ‘Ptr_CalibrateDebevec’ was not declared in this scope
对于多个文件,都会发生这种情况。我找到了这个线程,它讨论了一些补救措施,即向 bridge.hpp 文件添加一些 typedef,但这会导致编译时出现更多错误。我还发现了这个线程,它建议删除有问题的.cpp文件并进行编译。这导致了无错误的编译,然后是通常的make安装。但是,从 MATLAB 内部调用任何 OpenCV 函数现在都会导致以下错误:
If = cv.dft(I, 'flags', cv.DFT_COMPLEX_OUTPUT);
Error using dft
cv::exception caught:
/home/xxx/opencv-master/modules/core/src/dxt.cpp:1760: error: (-215)
type == CV_32FC1 || type == CV_32FC2 || type == CV_64FC1 || type == CV_64FC2
in function dft
另一个错误示例:
im_denoise = cv.fastNlMeansDenoising(im_noise, 18);
Error using fastNlMeansDenoising
cv::exception caught:
/home/xxx/opencv-master/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:146:
error: (-215) almost_dist2weight_[0] == fixed_point_mult_ in function
FastNlMeansDenoisingInvoker
非常感谢有关如何解决这些问题的任何帮助!
关于您得到的'cv::exception caught'
错误:似乎cv
期望输入图像是浮点类型(分别为single
或double
、'CV_32FC1'
或'CV_64FC1'
)。
尝试使用 im2single
或im2double
将输入图像I
或im_noise
转换为浮点数,看看这些错误是否再次出现。
您可能想查看有关为最新的OpenCV 3.0开发编译matlab mex的本教程。
它还包含用于OpenCV matlab的预编译二进制文件以及C++
相关文章:
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- 在基于范围的for循环中使用结构化绑定声明
- 使用 LuaBridge 将 LuaJIT 绑定到C++会导致"PANIC: unprotected error"
- 尝试通过OCI例程从Oracle获取blob数据,但出现错误:ORA-01008:并非所有变量都绑定
- 在使用GPU支持编译Tensorflow时,会遇到CUDA_TOOLKIT_PATH未绑定变量
- 视觉studo 2019中的漫画和静态/动态绑定
- 将自由函数绑定为类成员函数
- 将常量指针引用绑定到非常量指针
- 在派生类中绑定非静态模板化成员函数
- 绑定派生类方法C++从实例范围之外的分隔 std::function 变量调用
- 在 openGL 中多次绑定缓冲区
- 定义有趣的宏和正则表达式在Z3 C++绑定
- 使用结构化绑定'Reflection'
- 为什么 std::绑定错误参数可以成功?
- 如何绑定 C++ gRPC 客户端的网络接口
- 在 openmp 中,omp_get_thread_num是否绑定到物理线程?
- C++绑定(已弃用)
- 如何将 OpenCV-contribute-modules 绑定到 MATLAB
- 为 OpenCV 编译 MATLAB 绑定
- 使用SWIG对C++库进行Matlab绑定