opencv图像像素点操作加椒盐噪点例

在学习图像处理时,会经常要存取图像中某元素的值,所以一定要明白opencv中读取和修改图像像素值是如何进行的,也是非常必要的。

一张图像是由一数值组成的矩阵,在opencv中用cv::Mat类来表示图像。矩阵中的每一个元素代表一个像素。对于灰度图像,像素由8位无符号数来表示,其中0代表黑色,255代表白色。对于彩色图像,每个像素需要3个8位无符号数来表示三个颜色(r/g/b)。因此彩色图像中的像素是一个三元数(向量vector)。

存取像素值方法,需要在代码中指定元素所在的行和列。程序会返回相应的元素,对于单通道图像,返回值是单个数值,对于多通道图像,返回值则是一组向量(vector)。

opencv中可以使用Mat类中的at成员函数来读取/修改像素值。

下面写对图像加椒盐噪声的例子来说明opencv中图像像素修改

加椒盐噪点实际测试结果如下:

加椒盐噪点
加椒盐噪点

通过以上代码和上面的讲解相信,对于opencv中修改单个像素值有了了解。其中比较重要的是要判断图像是灰度或彩色,这样at函数会做不一样的实例化。