玩轉opencv412---lesson2像素遍歷-1

像素遍歷1(opencv412+vs2019)

源碼

#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;

void salt(Mat img, int n);
int main() 
{
	Mat srcImg = imread("lena.jpg");
	imshow("原圖",srcImg);
	salt(srcImg,5000);
	imshow("彩色椒鹽", srcImg);
	waitKey(5000);
	cin.get();
}

void salt(Mat img , int n) {
	for (int k = 0; k < n; k++) 
	{
		int i = rand() % (img.rows-20)+4;
		int j = rand() % (img.cols-20)+4;
		if (img.type() == CV_8UC1) 
		{
			img.at<uchar>(i, j) = 255;
		}
		else if (img.type() == CV_8UC3)
		{
			if (i % 3 == 0) {
				img.at<Vec3b>(i, j)[0] = 255;
				img.at<Vec3b>(i, j)[1] = 0;
				img.at<Vec3b>(i, j)[2] = 0;
			}
			else if (i % 3 == 1) {
				img.at<Vec3b>(i, j)[0] = 0;
				img.at<Vec3b>(i, j)[1] = 255;
				img.at<Vec3b>(i, j)[2] = 0;
			}
			else if (i % 3 == 2) {
				img.at<Vec3b>(i, j)[0] = 0;
				img.at<Vec3b>(i, j)[1] = 0;
				img.at<Vec3b>(i, j)[2] = 255;
			}



			

		}

	}

	cout << "hello" << endl;
}

輸出

在這裏插入圖片描述

原圖

在這裏插入圖片描述
@author T.Li 轉載請標明來處,本人保留所有權。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章