首页 > 代码库 > opencv学习笔记(01)——操作图像的像素
opencv学习笔记(01)——操作图像的像素
1 #include <opencv2\core\core.hpp> 2 #include <opencv2\highgui\highgui.hpp> 3 #include <opencv2\imgproc\imgproc.hpp> 4 #include <iostream> 5 6 7 void salt(cv::Mat& image, int n) 8 { 9 10 for(int k=0; k<n; k++) 11 { 12 13 int i = rand() % image.cols; 14 int j = rand() % image.rows; 15 16 // 灰度图像 17 if(image.channels() == 1) 18 { 19 cv::Mat_<uchar> img = image; 20 img(j,i) = 255; 21 }else{// 彩色图像 22 cv::Mat_<cv::Vec3b> img = image; 23 //image.at<cv::Vec3b>(j,i)[0] = 255; 24 //image.at<cv::Vec3b>(j,i)[1] = 255; 25 //image.at<cv::Vec3b>(j,i)[2] = 255; 26 27 img(j,i)[0] = 255; 28 img(j,i)[1] = 255; 29 img(j,i)[2] = 255; 30 } 31 32 } 33 34 } 35 36 37 int main(int argc, char** argv) 38 { 39 40 cv::Mat img = cv::imread("F:\\images\\boldt.jpg"); 41 cv::Mat img2 = img.clone(); 42 43 double duration; 44 duration = static_cast<double>(cv::getTickCount()); 45 46 salt(img, 3000); 47 48 duration = static_cast<double>(cv::getTickCount()) - duration; 49 duration /= cv::getTickFrequency(); 50 51 cv::namedWindow("original"); 52 cv::imshow("original", img); 53 cv::namedWindow("altered"); 54 cv::imshow("altered", img2); 55 56 std::cout << duration << std::endl; 57 58 cv::waitKey(0); 59 return 0; 60 61 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。