1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| #pragma once #include<iostream> #include<opencv2/opencv.hpp> #include <random>
using namespace cv; using namespace std;
void Salt(Mat image, int n); void Salt(Mat image, int n) { default_random_engine generater; uniform_int_distribution<int>randomR(0, image.rows - 1); uniform_int_distribution<int>randomC(0, image.cols - 1);
int i, j; for (int k = 0; k < n; k++) { i = randomC(generater); j = randomR(generater); if (image.channels() == 1) { image.at<uchar>(j, i) = 255; } else if (image.channels() == 3) { image.at<Vec3b>(j, i)[0] = 255;
image.at<Vec3b>(j, i)[1] = 255; image.at<Vec3b>(j, i)[2] = 255; } } }
|