对图像的单个像素操作

自己总是忘记。做个笔记

static const Vec3b bcolors[] =
{
    Vec3b(0,0,255),
    Vec3b(0,128,255),
    Vec3b(0,255,255),
    Vec3b(0,255,0),
    Vec3b(255,128,0),
    Vec3b(255,255,0),
    Vec3b(255,0,0),
    Vec3b(255,0,255),
    Vec3b(255,255,255)
};


       for(int x=0;x<gray.rows;x++)//gray为二值图
  {
  for(int y=0;y<gray.cols;y++)
  {
  if(gray.at<uchar>(x,y)==0)
  {
   img1.at<Vec3b>(x,y)=bcolors[5];//改动RGB值,注意这个地方的坐标,at函数中定义(x,y)代表的是第x行第y列的                                                           位置。并非我们寻常所理解的横竖坐标(与其刚好相反)。
  Point p;
      p.x=y;//坐标与行列关系
      p.y=x;
      point.push_back(p);
  }
  }
  }

原文地址:https://www.cnblogs.com/zfyouxi/p/5060396.html