opencv 시각 전환 실현

2072 단어 opencv필드 전환
본 논문 의 사례 는 opencv 가 시각 전환 을 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
만약 에 우리 가 QUEEN 이라는 영화 의 시각 적 전환 을 실현 하고 이미지 전환 을 한 후에 우리 가 정면으로 본 것 처럼

먼저 그래 픽 편집 기 를 열 어 이 카드 의 네 변 의 픽 셀 점 을 각각 기록 합 니 다.

원 포커 의 높이 와 너비 비례 3.5:2.5 를 이용 하여 새로운 시각 의 사각형 픽 셀 점 을 재 설정 하고 구체 적 인 절 차 는 다음 과 같다.

#include <iostream>
#include <opencv2/highgui.hpp> //    gui     gui    
#include <opencv2/imgcodecs.hpp> //      
#include <opencv2/imgproc.hpp> //        
using namespace std;
using namespace cv;
float w = 250, h = 350; //            2.5 cm    3.5 cm                  
Mat matrix, imgWarp;
int main()
{
    string path = "resources/cards.jpg"; //        ,             !!!
    Mat img = imread(path); //  opencv            Mat 
    /*Queen   */
    Point2f src[4] = { {66,324},{338,279},{89,634},{404,571} }; //                       
    Point2f dst[4] = { {0.0f,0.0f},{w,0.0f},{0.0f,h},{w,h} };
    matrix = getPerspectiveTransform(src, dst);  //               ,  Mat    
    warpPerspective(img, imgWarp, matrix, Point(w, h)); //                
    /*              **/
    for (int i = 0; i < 4; i++)
    {
        circle(img, src[i], 10, Scalar(0, 0, 255),FILLED);
    }
 
    /*  king   
    // Point2f           float 
    Point2f src[4] = { {529,142},{771,190}, {405,395}, {674,457} };
    Point2f dst[4] = { {0.0f,0.0f},{w,0.0f},{0.0f,h} ,{w,h} };
    matrix = getPerspectiveTransform(src, dst);
    warpPerspective(img, imgWarp, matrix, Point(w, h));*/
    imshow("Image", img);
    imshow("Image Warp", imgWarp);
    waitKey(0); //   ,0       
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기