47.嵌入式OpenCV学习笔记二

1.读取视频,使用VideoCapture类对象(还可以实现视频播放速度调节)。

将VideoCapture capture("D://1.avi");改成VideoCapture capture(0),即可调用摄像头。

frame:帧

framework:框架

#include <iostream>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  
#include <opencv2/imgproc/imgproc.hpp>
//头文件要记得导入

using namespace cv;

int main()
{
	VideoCapture capture("D://1.avi");
	while(1)
	{
		Mat frame;
		capture >> frame;
		imshow("读取视频", frame);
		waitKey(100);
	}
	return 0;
}

2.对摄像头图像进行实时裁边

待解决问题:blur函数的size应该如何确定。

Canny函数的参数应该如何选定

帧如何写入到视频中并保存

#include <iostream>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/videoio/videoio_c.h>
//头文件要记得导入

using namespace cv;

int main()
{
	VideoCapture capture(0);
	Mat edges, frame;
	while (1)
	{
		//摄像头读入图像
		capture >> frame;
		//转成灰度
		cvtColor(frame, edges, COLOR_BGR2GRAY);
		//3x3内核均值滤波来降噪(2x3+1=7)
		blur(edges, edges, Size(7, 7));
		//Canny算子检测边缘
		Canny(edges, edges, 0, 30, 3);
		imshow("Canny后的视频", edges);
		waitKey(30);
	}
	return 0;
}
发布了51 篇原创文章 · 获赞 1 · 访问量 623

猜你喜欢

转载自blog.csdn.net/weixin_44737922/article/details/105386773