#include<opencv2/core.hpp>
#include<opencv2/highgui.hpp>
#include
cv::Mat image;
void salt(cv::Mat image, int n) {
//c++的随机数生成器
std::default_random_engine generator;
std::uniform_int_distributionrandomRow(0, image.rows - 1);
std::uniform_int_distributionrandomCol(0, image.cols - 1);
int i, j;
for (int k = 0; k < n; k++) {
//随机生成图形位置
i = randomCol(generator);
j = randomRow(generator);
//灰度图像
if (image.type() == CV_8UC1) {
//单通道8位图像
image.at(j,i) = 255;
}
//彩色图像
else if (image.type() == CV_8UC3) {
//3通道图像
image.atcv::Vec3b(j,i)[0] = 255;
image.atcv::Vec3b(j,i)[1] = 255;
image.atcv::Vec3b(j,i)[2] = 255;
}
}
}
int main(int argc, char** argv) {
image = cv::imread(“E:/3.JPG”);
if (image.empty()) {
printf(“could not load image…\n”);
return -1;
}
cv::namedWindow(“Original Image”);
cv::imshow(“Original Image”, image);
//调用函数以添加噪声
salt(image,5000);
cv::namedWindow(“OUTPUT Image”);
cv::imshow(“OUTPUT Image”, image);
cv::waitKey(0);
return 0;
}
在图像中加入椒盐噪声
最新推荐文章于 2024-04-09 18:26:06 发布