1. 程式人生 > >opencv學習筆記存取畫素值

opencv學習筆記存取畫素值

             我不想永遠是小明,我也想成為小紅。

椒鹽噪點:隨機的將部分畫素設定為白色或黑色。如果部分畫素丟失,那麼這種噪點就會出現。

cout是輸出,屬於iostream,格式:cout<<

CV_[位數][帶符號與否][型別字首]C[通道數],如CV_8UC3表示使用8位的unsigned char型,每個畫素由三個元素組成三通道。

rand()隨機數生成函式

void“無型別”

rand()%X:%為取餘數,該句作用:生成小於X的隨機數

at(int y,int x)可以用來存取影象元素,但是必須宣告影象的資料型別。【一定要y在前,x在後】

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
void salt(Mat &image, int n)//n為想改變的畫素個數
{
 for (int k=0; k < n; k++)
 {
  int i = rand()%image.cols;
  int j = rand()%image.rows;  if (image.channels() == 1)//為灰度圖
  {
   image.at<uchar>(j,i)= 255;
  }
  else if (image.channels() == 3)//為RGB圖
  {
   image.at<Vec3b>(j,i)[0] = 255;
   image.at<Vec3b>(j,i)[1] = 255;
   image.at<Vec3b>(j,i)[2] = 255;
  }
 }
}
int main()
{
 Mat srcImage = imread("1.jpg");
 salt(srcImage, 3000);
 namedWindow("處理圖");
 imshow("處理圖", srcImage);
 
 waitKey(0);
 return 0;
}       

椒鹽噪聲