2016年2月28日 星期日

高斯模糊與二值化


  • imgproc
    • 圖像處理模塊,其包括線性和非線性圖像濾波,幾何圖像變換(調整大小,仿射和立體翹曲,通用基於表的重新映射),顏色空間轉換,直方圖等。




高斯模糊
#include 
#include 
#include 
#include 
using namespace cv;
using namespace std;

int main(){
 //抓取攝影機
 VideoCapture cap(0);
 //嘗試開啟攝影機
 if(!cap.isOpened()){
  cout<<"Cannot open the web cam\n";
  return -1;
 }
 cap.set(CV_CAP_PROP_FRAME_HEIGHT,320);//window height
 cap.set(CV_CAP_PROP_FRAME_WIDTH,240);//window  witdh

 //用矩陣紀錄抓取的每張frame
 Mat frame;

 while(1){
  //把取得的影像放置到矩陣中
  bool bSuccess = cap.read(frame);

  Mat Blur;
  GaussianBlur(frame, Blur, Size(7,7),1.5,1.5);
  imshow("frame", frame);
  imshow("Blur", Blur);
  if(waitKey(30) >= 0) break;
 }
 system("PAUSE");
 return 0;
}


二值化
#include 
#include 
#include 
#include 
using namespace cv;
using namespace std;

int main(){
 //抓取攝影機
 VideoCapture cap(0);
 //嘗試開啟攝影機
 if(!cap.isOpened()){
  cout<<"Cannot open the web cam\n";
  return -1;
 }
 cap.set(CV_CAP_PROP_FRAME_HEIGHT,320);//window height
 cap.set(CV_CAP_PROP_FRAME_WIDTH,240);//window  witdh

 //用矩陣紀錄抓取的每張frame
 Mat frame;

 while(1){
  //把取得的影像放置到矩陣中
  bool bSuccess = cap.read(frame);

  Mat Blur;
  GaussianBlur(frame, Blur, Size(9,9),2,2);

  Mat Gray;
  // Convert it to gray
  cvtColor( Blur, Gray, CV_BGR2GRAY );
  
  imshow("frame", frame);
  imshow("Blur", Blur);
  imshow("Gray", Gray);
  if(waitKey(30) >= 0) break;
 }
 system("PAUSE");
 return 0;
}

沒有留言:

張貼留言