您的位置:首页 > 理论基础

学习《OpenCV 2 计算机视觉编程手册》第二章存取像素值案例--椒盐噪声

2017-05-13 22:14 417 查看
                                学习《OpenCV 2 计算机视觉编程手册》第二章存取像素值案例--椒盐噪声

[b]椒盐噪声属于加性噪声中的脉冲噪声,随机将二值图像中的像素设为黑或白,形象地称为[b]椒盐噪声[/b],可用中值滤波器来清除(本节不讲),[/b]

下面是给一个图像添加[b][b]椒盐噪声[/b]的代码:[/b]

#include<opencv2\core\core.hpp>

#include<opencv2\imgproc\imgproc.hpp>
#include<opencv2\highgui\highgui.hpp>
#include<iostream>

using namespace cv;
using namespace std;

//椒盐噪声
void Salt(Mat &img ,int n)
{
for (int k = 0; k < n; k++)
{
int i=rand()%img.cols;
int j=rand()%img.rows;
if(img.channels()==1)//灰度图
{
img.at<uchar>(j,i)=255;
}
else if(img.channels()==3)//彩色图
{
img.at<Vec3b>(j,i)[0]=255;//B通道
img.at<Vec3b>(j,i)[1]=255;//G通道
img.at<Vec3b>(j,i)[2]=255;//R通道
}
}
}

int main()
{
Mat img=imread("img/1.jpg",1);
Salt(img,100);
namedWindow("单通道加椒盐噪声");
imshow("单通道加椒盐噪声",img);

waitKey();
return 0;
}加上椒盐噪声后的效果图如下:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: