#include <cv.h> #include <highgui.h> #include <algorithm> #include<stdlib.h> void salt(cv::Mat &imag, int n) { for (int k = 0; k < n; k++) { int i = rand() % imag.cols; int j = rand() % imag.rows; if (imag.channels() == 1)//二值化图像 { imag.at<uchar>(j, i) = 255; } else if (imag.channels() == 3)//彩色RGB图像 { imag.at<cv::Vec3b>(j, i)[0] = 255; imag.at<cv::Vec3b>(j, i)[1] = 255; imag.at<cv::Vec3b>(j, i)[2] = 255; } } } int main() { cv::Mat image = cv::imread("C:\Users\dell\Desktop\2.jpg"); salt(image, 3000); cv::namedWindow("iamge"); cv::imshow("iamge", image); cvWaitKey(0);//程序暂时停止 return 0; }