首页 > 代码库 > matlab 图像和 opencv 图像的相互转换

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

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

 

<style>p { margin-bottom: 0.1in; line-height: 120% } a:link { }</style>

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 图像的相互转换