OpenCV—一个窗口拼接三个图

OpenCV—一个窗口拼接三个图

#include 
#include 
using namespace std;
using namespace cv;
int main()
{
     
    VideoCapture cap;
    cap.open(1);
   
    Mat mat_frame(Size(cap.get(CAP_PROP_FRAME_WIDTH)*3,cap.get(CV_CAP_PROP_FRAME_HEIGHT)),CV_8UC3);
    Mat mat_ROI0 = mat_frame( Rect(0,0,cap.get(CAP_PROP_FRAME_WIDTH),cap.get(CV_CAP_PROP_FRAME_HEIGHT)));
    Mat mat_ROI1 = mat_frame( Rect(cap.get(CAP_PROP_FRAME_WIDTH),0,cap.get(CAP_PROP_FRAME_WIDTH),cap.get(CV_CAP_PROP_FRAME_HEIGHT)));
    Mat mat_ROI2 = mat_frame( Rect(cap.get(CAP_PROP_FRAME_WIDTH)*2,0,cap.get(CAP_PROP_FRAME_WIDTH),cap.get(CV_CAP_PROP_FRAME_HEIGHT)));
    while(true)
    {
     
        Mat frame;
        cap >> frame;
        //mat_frame
        frame.copyTo(mat_ROI0);
        cvtColor(frame,frame,COLOR_BGR2HSV);
        frame.copyTo(mat_ROI1);
        cvtColor(frame,frame,COLOR_HSV2RGB);
        frame.copyTo(mat_ROI2);
        imshow("1",frame);
        imshow("2",mat_frame);
        //out.write(frame);
        if(waitKey(2) == 'q')
        {
     
            break;
        }
    }
    return 0;
}

你可能感兴趣的:(Opencv,opencv,视频处理)