matlab 图像和 opencv 图像的相互转换

Posted 兔子二

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab 图像和 opencv 图像的相互转换相关的知识,希望对你有一定的参考价值。

matlab可以生成C++代码, 但是在涉及图像数据的时候,要注意数据格式的转换。

 

1. Matlab图像数据在内存中的存放顺序是R通道图,G通道图,B通道图。对于每个通道,数据存放是先列后行。


2. C++中,opencv Mat对象的数据存放顺序是先行后列,对于每个像素点,分别有r,g,b三个值。


3 . Opencv Mat 转matlab格式数据

    对于opencv Mat图像,首先需要拆分成三个单通道图,然后分别进行转置,再按照R通道图,G通道图,B通道图的顺序把数据复制到一段连续空间。


4.  matlab格式 转Opencv Mat 

    对于matlab 生成的c++ 函数的返回结果,要进行重新组织,即分别生成三个通道图,然后进行转置,最后再进行合并,

以上是关于matlab 图像和 opencv 图像的相互转换的主要内容,如果未能解决你的问题,请参考以下文章

python中PIL.Image,OpenCV,Numpy图像格式相互转换

OpenCV中IplImage和Mat间的相互转换

确定图像中车辆的距离(Matlab,OpenCV)

OpenCV uchar和Mat之间的相互转换

如何用MATLAB转换图像格式

在opencv中规范化图像