当前位置: 代码迷 >> 综合 >> Opencv Mat 多通道时 元素访问问题
  详细解决方案

Opencv Mat 多通道时 元素访问问题

热度:36   发布时间:2024-01-20 09:56:35.0

  这里只给出实例代码,具体的自己琢磨。

   

   cv::Mat processMat;for (row = 0; row < processMat.rows; row++){for (col = 0; col < processMat.cols; col++){processMat.at<Vec3b>(row, col)[0] = 0;processMat.at<Vec3b>(row, col)[1] = 125;processMat.at<Vec3b>(row, col)[2] = 0;}}

 

使用时注意:

 1. Vec3b - for uchar, Vec3i - for int, Vec3f - for float, Vec3d - for double 

 2. 在访问时做指针偏移是需要注意每次的偏移量。

     如: const unsigned char* Mforeground = foreground.ptr<unsigned char>(row);

     这样每次访问Mforeground[col]时,只偏unsigned char去找元素,需要格外注意,否则处理图像时会不正确。