Which is the best opencv or matlab for image processing?

http://www.researchgate.net/post/Which_is_the_best_opencv_or_matlab_for_image_processing

Annette Morales-González · Centro de Aplicaciones de Tecnologias de Avanzada

It depends on your purpose:

Matlab --> Faster programming, less efficient
OpenCV -->Slower programming, more efficient

I have used both for a long time and I switch from one to the other depending on what I‘m doing. If you‘re doing research (for instance, if you‘re testing different algorithms, different representations, etc) I recommend Matlab, since you will be able to program faster. If you already had a result of your research, and wan‘t to make an application with it, I recommend OpenCV, it will take longer to program, but you can make more time and memory optimizations. If you are doing research but you‘re working with very large datasets, features, etc, maybe you‘ll have to use OpenCV instead of Matlab in order to play with memory optimization, since with large data Matlab tends to crash frequently. According to the image processing functionalities they provide, I think both are well equipped, but I would say that Matlab is better in this case, and you can find more Matlab source code in internet than OpenCV‘s.

Carles Fernández · Herta Security

In the past I have worked extensively with both Matlab and OpenCV.

Matlab allows you to prototype faster, for instance in order to test a method, compare the accuracy of different techniques, estimate which implementation runs faster, or learn the best parameters for a model. It is especially interesting for fast debugging and fast visual plotting of results, in particular for research in image processing. It is also fairly easy to find public source code shared by users.

OpenCV allows you to efficiently encode algorithms for computer vision. It will run much faster than Matlab code, but it will take longer to implement and to debug. You will be able to incorporate external libraries, and is a great help for serious solution coding. There are several tutorials and nice documentation out there, and it is well maintained.

Unlike some users have suggested above, I completely discourage to use any utilities that convert Matlab to C/C++, nor to port any OpenCV functions to Matlab. That makes little sense. Your code will be more efficient by carefully coding it from scratch using the proper libraries, and most times you will go faster by implementing something from scratch in Matlab over some base code. Both Matlab and OpenCV contain a great deal of image processing utilities, from basic to advanced requirements, so they are mostly interchangeable depending on your goal.

时间: 2024-12-08 19:40:45

Which is the best opencv or matlab for image processing?的相关文章

OpenCV和Matlab 通过XML传递数据

因为现在下到的数据集大部分都使用了Matlab的Calibration toolbox 进行标定,其结构大部分是.mat结构的,所以它和opencv中数据传递需要一个中间过程,网上也有直接调用matlab的dll的方法,但是中间件方法必然会受到版本限制,所以我最后还是选择了使用xml来作为中间文件传递数据. --------------1.calibration toolbox原始标定的.m数据--------------   http://ishare.iask.sina.com.cn/f/6

C++版本的Opencv与matlab矩阵数据通过txt文件传递

最近需要用matlab和C++协同工作,为了规避代码从matlab转化为C++,只能转化数据.(我也转化过代码,发现matlab对于矩阵的计算还是更方便而且快捷) Opencv 中对于数据的存储好像只有xml.yml等特定格式的文件,而matlab不太容易读取此类文件.于是,我参考了一些网上的方法,写了一个通用版本. 包括两个部分,opencv写,matlab读 与 matlab写,opencv读.此为小儿科,单纯的记录一下,以后直接拿来用即可. 注:为了方便,txt为一列,前两行分别是行数和列

[转] Matlab与C++混合编程,添加OpenCV库

原文地址 峰回璐转 最近在做运动医学软件优化工作,此款软件框架及算法语言全由matlab实现,虽然matlab矩阵运算.数值计算能力强大,但速度让人难以忍 受.软件立刻移植到C++上又不太实际,故采用联合编程的方式,速度难以容忍的算法交给C++实现,C++在实现代码的过程中某些数值计算及图像处理算法 调opencv库函数. 在网上有很多matlab编写mex函数调用opencv库的方法,但都不能直接拿来.经过一步步试验,修改,最终完成,现将过程及内容记录下来留给后来人参考. 第一步: (参考参考

[转] Matlab与C++混合编程(依赖OpenCV)

作者 [email protected],原文 Matlab与C++混合编程(依赖OpenCV) 之前在运行别人论文的代码的时候,经常有遇到Matlab与C++混合编程的影子.实际上就是通过Matlab的Mex工具将C++的代码编译成 Matlab支持调用的可执行文件和函数接口.这样一方面可以在Matlab中利用已经编写好的函数,尽管这个函数是用C++编写的.实现了交流无国界, 没有江山一统的谁,只有四海之内皆兄弟的豪气.另一方面,取C++所长补己之短.Matlab擅长矩阵运算,但对循环操作的效

Matlab与C++混合编程,添加OpenCV库

最近在做运动医学软件优化工作,此款软件框架及算法语言全由matlab实现,虽然matlab矩阵运算.数值计算能力强大,但速度让人难以忍受.软件立刻移植到C++上又不太实际,故采用联合编程的方式,速度难以容忍的算法交给C++实现,C++在实现代码的过程中某些数值计算及图像处理算法调opencv库函数. 在网上有很多matlab编写mex函数调用opencv库的方法,但都不能直接拿来.经过一步步试验,修改,最终完成,现将过程及内容记录下来留给后来人参考. 第一步: (参考参考资料1,但其写的不够详细

基于OpenCV立体视觉标定和校正

这几天学习双目视觉标定,分别使用了两种工具:OpenCV和Matlab.Matlab的效果非常稳定,但是一开始OpenCV的效果很糟糕,要不是出现中断就是标定出来的结果数值很大.经过了几天的不断调试和更改,终于把OpenCV的立体视觉标定和校正的程序写出来了.立体标定时计算空间上的两台摄像机几何关系的过程,立体校正则是对个体图像进行纠正,保证这些图像可以从平面对准的两幅图像获得.程序的框架如下: 1.读取左右相机图片序列 双目相机的图片序列放在Demon的路径下,左右相机的图像的名字分别存放在两

opencv 学习方法

1. 学习方法: http://www.opencv.org.cn/forum.php?mod=viewthread&tid=7055&extra=&page=1 首先还是说说如何学Opencv吧,记得最开始进实验室的时候师兄让看Opencv,当时的学术基础很差,编程能力也很一般,所以学Opencv时感到很无助,像是陷入了一个死循环.想通过算法看代码,发现算法不会:通过代码学算法,又发现自己读代码的能力很弱.后来通过不断的读文章(下面会推荐几篇文章供算法入门)和加强实际的编程能力,

OpenCV——RGB三通道分离

opencv 和 matlab 在处理彩色图像的时候,通道的存储顺序是不同的. matlab 的排列顺序是R,G,B: 而在opencv中,排列顺序是B,G,R. 下面通过一个小程序看看opencv中的三个通道. // PS_Algorithm.h #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <iostream> #include <string> #include "c

在数学建模中学MATLAB

为期三周的数学建模国赛培训昨天正式结束了,还是有一定的收获的,尤其是在MATLAB的使用上. 1. 一些MATLAB的基础性东西: 元胞数组的使用:http://blog.csdn.net/z1137730824/article/details/39206823 对于任意文件夹的同一格式的图片的批量读取:http://blog.csdn.net/haizimin/article/details/39646595 关于MATLAB在微分/偏微分方程以及其他高等数学问题中的应用. 关于MATLAB在