opencv 색상 검출 실현

2370 단어 opencv색상 검사
본 논문 의 사례 는 opencv 가 색상 검 측 을 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
만약 에 OPEcv 에서 색상 검 사 를 실현 하려 면 먼저 검 측 된 이미 지 를 HSV 색상 공간 으로 전환 해 야 합 니 다.그러나 색상 은 특정한 수치 범위 이 고 우리 가 모 르 는 상황 에서 TrackBar 를 통 해 색상 한도 값 을 제어 하여 각 색상 의 수치 범 위 를 탐구 할 수 있 습 니 다.
프로그램:

#include <iostream>
#include <opencv2/highgui.hpp> //    gui     gui    
#include <opencv2/imgcodecs.hpp> //      
#include <opencv2/imgproc.hpp> //        
using namespace std;
using namespace cv;
/// Color Detection ///
Mat imgHSV, mask;
int hmin = 0, smin = 0, vmin = 0;
int hmax = 179, smax = 255, vmax = 255;
int main()
{
    string path = "resources/shapes.png"; //        ,             !!!
    Mat img = imread(path); //  opencv            Mat 
    //           HSV    HSV     
    cvtColor(img, imgHSV, COLOR_BGR2HSV); //   img       HSV    
 
    namedWindow("trackBar",(640,200)); //         trackBar    
    createTrackbar("Hue Min", "trackBar", &hmin, 179); // hmin           
    createTrackbar("Hue Max", "trackBar", &hmax, 179);
    createTrackbar("Sat Min", "trackBar", &smin, 255);
    createTrackbar("Sat Max", "trackBar", &smax, 255);
    createTrackbar("Val Min", "trackBar", &vmin, 255);
    createTrackbar("Val Max", "trackBar", &vmax, 255);
    //      trackBar       while   
    while (true)
    {
        // inRange         
        //                       ,        
        // 
        Scalar lower(hmin, smin, vmin);
        Scalar upper(hmax, smax, vmax);
        inRange(imgHSV, lower, upper, mask); // inRange        lower   upper      
        imshow("Image HSV", imgHSV);
        imshow("Image", img);
        imshow("Image Mask ", mask);
        waitKey(1); //      1  1ms    
    }
 
    
 
    return 0;
}
실행 결과:

이 운행 결과 에 따라 옅 은 파란색 도안 이 검출 된다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기