تو c++ به همراه OpenCV به راحتی قابل انجامه.
cv::Mat noise = Mat(imGray.size(),CV_64F);
normalize(imGray, result, cv::Scalar(-10), cv::Scalar(10), CV_MINMAX, CV_64F);
cv::randu(noise, 0, 0.05);
result = result + noise;
normalize(result, result, 0.0, 1.0, CV_MINMAX, CV_64F);
cv::imshow("OUTPUT",result);