Advertisement

opencv中对像素点进行访问 opencv中对像素点进行访问

阅读量:

【opencv学习笔记1】

访问图片中的像素点

为了对彩色图像中的每一个像素点执行一些操作,请注意以下几点:
对于每个像素点(i,j),计算g(i,j)=a*f(i,j)+b;
显然我们需要遍历整个图像中的每一个像素点。由于该图像是基于GBR模式存储的(即每个像素包含G,B,R三个通道值),因此我们必须分别处理这三个通道;
值得注意的是,在OpenCV中图像以GBR模式存储(而非常见的RGB模式);
因此我们可以使用三重循环分别遍历每个通道(G, B, R)的所有像素值。

复制代码
    for (int y = 0; y < g_scrImage.rows; y++)
    {
      for (int x = 0; x < g_scrImage.cols; x++)
    	{
    	   for (int c = 0;c < 3; c++)
    		{
    g_dstImage.at<Vec3b>(y, x)[c] = saturate_cast<uchar>((g_nConstrastValue*0.01)*(g_scrImage.at<Vec3b>(y, x)[c]) + g_nBrightValue)
    //滑动条上对比度与src图像相乘加上亮度
    		}
    	}
    }

全部评论 (0)

还没有任何评论哟~