图像噪声
一:椒盐噪声
椒盐噪声是数字图像中的常见噪声,一般是由图像传感器,传输信道及解码处理等产生的黑白相同的亮暗点噪声,椒盐噪声常由图像切割产生。椒盐噪声是指两种噪声:盐粒噪声(salt noise)和胡椒噪声(pepper noise)。盐噪声一般是白色噪声,椒噪声一般是黑色噪声,前者是高灰度噪声,后者属于低灰度噪声,一般两种噪声同时出现,呈现在图像上就是黑白杂点。图像去除脉冲干扰及椒盐噪声最常用的算法是中值滤波,图像模拟添加椒盐噪声是通过随机获取像素值点并设置为高亮度点来实现。
示例代码如下:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <cstdlib>
// 图像添加椒盐噪声
cv::Mat addSaltNoise(const cv::Mat srcImage, int n)
{
cv::Mat resultIamge =srcImage.clone() ;
for(int k=0; k<n; k++)
{
// 随机取值行列
int i = rand() % resultIamge.cols;
int j = rand() % resultIamge.rows;
// 图像通道判定
if(resultIamge.channels() == 1)
{
resultIamge.at<uchar>(j,i) = 255;
}else
{
resultIamge.at<cv::Vec3b>(j,i)[0