#include<opencv2\opencv.hpp> void salt(cv::Mat &image, int n) { for (int k=0; k<n; k++) { // rand() is the MFC random number generator int i= rand()%image.cols; int j= rand()%image.rows; if (image.channels() == 1) { // gray-level image image.at<uchar>(j,i)= 255; } else if (image.channels() == 3) { // color image image.at<cv::Vec3b>(j,i)[0]= 255; image.at<cv::Vec3b>(j,i)[1]= 255; image.at<cv::Vec3b>(j,i)[2]= 255; } } } int main(int argc,char* argv[]) { cv::Mat pImg; pImg=cv::imread("lena.jpg"); cv::namedWindow("Image"); cv::imshow("Image",pImg); salt(pImg,300); cv::namedWindow("pImg"); cv::imshow("pImg",pImg); cv::waitKey(0); cv::destroyWindow("Image"); return 0; }