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版权协议,转载请附上原文出处链接和本声明。