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)
还没有任何评论哟~
