嵌入式c c++开发笔记(opencv读取图片,视频)

opencv的使用 1

记录opencv c++版本的读取图片,读取摄像头,缩放图片,设置显示窗口等使用方式

先应用头文件,看需要哪个引用哪个

#include <opencv2/opencv.hpp> 
#include "opencv2/highgui.hpp"
#include <opencv2/imgproc.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/core.hpp>
#include <opencv2/objdetect.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/highgui/highgui_c.h>
#include <iostream>
using namespace std;

获取图片,缩放并展示


int main(){   
	    Mat start=imread("Pictures/start.jpg", -1);      //读取图片
	    resize(start, start, cv::Size(1280,1024));       //将读取到的图片缩放到
	    capture.set(cv::CAP_PROP_FRAME_WIDTH,1280);      //设置窗口宽度
	    capture.set(cv::CAP_PROP_FRAME_HEIGHT,1024);      //设置窗口高度
	   
   	    namedWindow(window_name, CV_WINDOW_NORMAL);    //设置窗口名字
	    setWindowProperty(window_name, CV_WND_PROP_FULLSCREEN, CV_WINDOW_FULLSCREEN);  //将窗口设置为全屏
	    imshow(window_name, start);       //显示窗口 
	    waitKey(100);                       //窗口显示时长,该方法也用于读取键盘键值,单位是ms
	    while(waitKey(10)==27){             //等待ESC,否则窗口会一直存在
			break;
		}		
   }
}

获取摄像头画面并展示

int main(){
	VideoCapture capture;    //实例化一个capture
	capture.set(cv::CAP_PROP_FRAME_WIDTH,1280);      //设置窗口宽度
	capture.set(cv::CAP_PROP_FRAME_HEIGHT,1024);      //设置窗口高度
	capture.set(cv::CAP_PROP_FPS,30);                 //设置帧数
	capture.set(cv::CAP_PROP_FOURCC, cv::VideoWriter::fourcc('M', 'J', 'P', 'G')); //压缩视频帧
   	namedWindow(window_name, CV_WINDOW_NORMAL);    //设置窗口名字
   	setWindowProperty(window_name, CV_WND_PROP_FULLSCREEN, CV_WINDOW_FULLSCREEN);  //将窗口设置为全屏
   	 Mat rgb_image = capture.open("/dev/video0");     //获取视频帧,参数直接填0有时候会识别不到
    while(true){	    
	   if (!capture.isOpened())         //检测摄像头是否开启成功
		{
			cout << "OpenCameraFailed";
			return;
		}
		capture.read(rgb_image);               //读取视频帧
	    imshow(window_name, rgb_image);       //显示窗口 
	    waitKey(100);      
    }
}

版权声明:本文为qq_37471001原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。