美文网首页计算机视觉
opencv中mat数据类型的存储方式

opencv中mat数据类型的存储方式

作者: 木谷御青麟 | 来源:发表于2021-06-09 11:02 被阅读0次

OpenCV中Mat像素存储及坐标系如下图所示:

无标题.png

假如有三通道图像变量Mat a,两种mat数据的访问方式可以遍历图像,分别为:
1:a.<vecb>at(row,col);

for (int i=0; i<ROW ; i++)  
{  
    for (int j=0; j<COL ; j++)  
    {  
      img1.at<vec3b>(i,j)[0]= 3.2f;  // B 通道
      img1.at<vec3b>(i,j)[1]= 3.2f;  // G 通道
      img1.at<vec3b>(i,j)[2]= 3.2f;  // R 通道
   }  
 }

2:标准的ptr访问方式,a.<type>ptr(i)[j]

 for (int i=0; i<ROW ; i++)   
{   
     float* pData1=a.ptr<float>(i);  
     for (int j=0; j<COL ; j++)   
    {   
         pData1[j] = 3.2f;   
    }   
 } 

由上可以看出,Mat访问下标的顺序与坐标(x,y)相反,即Mat按照(y,x)的方式范文和遍历Mat数据变量,halcon图像及区域、xld变量也是这么存储的。

参考
opencv Mat数据的三种标准访问方式:https://www.cnblogs.com/phillips/p/4484717.html
opencv 图像row、col坐标对应关系:https://blog.csdn.net/sc944201630/article/details/82222909

相关文章

网友评论

    本文标题:opencv中mat数据类型的存储方式

    本文链接:https://www.haomeiwen.com/subject/yihosltx.html