opencv 灰度图(感兴趣(ROI)区域)_三通道图像融合

在进行图像操作时,为加快图像的处理速度,往往需要对图像的局部进行操作,一般是设置ROI区域,然后对ROI区域进行二值化,在对灰度图进行特征的检测与提取。此方法可以大大加快图像处理的速度。

本博文结合opencv进行编写。程序如下:

cv::Mat GrayROIAddRGB(cv::Mat src)
{
  int x = 230;
  int y = 90;
  int width = 160;
  int height = 160;
  Mat imageROI = src(Rect(x,y,width,height));
  //imshow("ROI", imageROI);


       Mat mask = imageROI;
  cvtColor(mask,mask,CV_RGB2GRAY);
  threshold(mask,mask,80,255,THRESH_BINARY);
  cvtColor(mask,mask,CV_GRAY2BGR);
  //imshow("threshold", mask); 


  for( int i = 0; i < imageROI.rows; ++i)
  {    
Vec3b * p = imageROI.ptr<Vec3b>(i);  
for( int j = 0; j < imageROI.cols; ++j )
{  
p[j][0] = 0;  
p[j][1] = 0;  
p[j][2] = 0;  
}  
       }


       mask.copyTo(imageROI,mask);
  return src;

}


实验图如下:

1.原图


2.效果图

猜你喜欢

转载自blog.csdn.net/qq_22790615/article/details/80235508