opencv 3.0

#include <iostream>  
#include "opencv2/highgui/highgui.hpp"  
#include "opencv2/imgproc/imgproc.hpp"  
  #include "cv.h"
#include "highgui.h"
using namespace cv;  
using namespace std;  
  
 int main( int argc, char** argv )  
 {  
    //VideoCapture cap(0); //capture the video from web cam  
  
    //if ( !cap.isOpened() )  // if not success, exit program  
    //{  
    //     cout << "Cannot open the web cam" << endl;  
    //     return -1;  
    //}  
  
  namedWindow("Control", CV_WINDOW_AUTOSIZE); //create a window called "Control"  
  
 int iLowH = 25;  
  int iHighH = 67;  
  int iLowS = 42;   
  int iHighS = 180;  
  
  int iLowV = 0;  
  int iHighV = 255; 
  /*int iLowH = 15;  
  int iHighH = 26;  
  int iLowS = 101;   
  int iHighS = 255;  
  
  int iLowV = 86;  
 /* int iHighV = 255;*/
  /*int iLowH = 0;  
  int iHighH = 4;  
  int iLowS = 77;   
  int iHighS = 255;  
  
  int iLowV = 40;  
  int iHighV = 170;*/
  //Create trackbars in "Control" window  
  cvCreateTrackbar("LowH", "Control", &iLowH, 179); //Hue (0 - 179)  
  cvCreateTrackbar("HighH", "Control", &iHighH, 179);  
  
  cvCreateTrackbar("LowS", "Control", &iLowS, 255); //Saturation (0 - 255)  
  cvCreateTrackbar("HighS", "Control", &iHighS, 255);  
  
  cvCreateTrackbar("LowV", "Control", &iLowV, 255); //Value (0 - 255)  
  cvCreateTrackbar("HighV", "Control", &iHighV, 255);  
  
    while (true)  
    {  
        Mat imgOriginal;  
  
    
     imgOriginal=cvLoadImage("E:\\555.jpg");
   
   Mat imgHSV;  
   vector<Mat> hsvSplit;  
   cvtColor(imgOriginal, imgHSV, COLOR_BGR2HSV); //Convert the captured frame from BGR to HSV  
  
   因为我们读取的是彩色图,直方图均衡化需要在HSV空间做  
   split(imgHSV, hsvSplit);  
   equalizeHist(hsvSplit[2],hsvSplit[2]);  
   merge(hsvSplit,imgHSV);  
   Mat imgThresholded;  
  
   inRange(imgHSV, Scalar(iLowH, iLowS, iLowV), Scalar(iHighH, iHighS, iHighV), imgThresholded); //Threshold the image  
  
   //开操作 (去除一些噪点)  
   Mat element = getStructuringElement(MORPH_RECT, Size(5, 5));  
   morphologyEx(imgThresholded, imgThresholded, MORPH_OPEN, element);  
  
   //闭操作 (连接一些连通域)  
   morphologyEx(imgThresholded, imgThresholded, MORPH_CLOSE, element);  
  
    CvMemStorage* storage = cvCreateMemStorage();
 	CvSeq * circles=NULL;
	//Canny(imgThresholded,imgThresholded,3, 3);

   imshow("Thresholded Image", imgThresholded); //show the thresholded image  
   imshow("Original", imgOriginal); //show the original image  
  
   char key = (char) waitKey(300);  
   if(key == 27)  
         break;  
    }  
  
   return 0;  
  
}  







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值