1. 程式人生 > >OpenCV學習筆記 OpenCV視訊操作基礎

OpenCV學習筆記 OpenCV視訊操作基礎

using namespace cv;

int main()
{
	//【1】讀入視訊 若從攝像頭讀入視訊則把‘1.avi’換為0
	//VideoCapture capture("1.avi");
	VideoCapture capture(0);

	//【2】迴圈顯示每一幀
	while (1)
	{
		Mat frame;//定義一個mat變數,用於儲存每一幀的影象
		capture >> frame;//讀取當前幀
		imshow("讀取視訊", frame);//顯示當前幀
		waitKey(30);
	}

	return 0;

}
#include <opencv2\opencv.hpp>
using namespace cv;

int main()
{
	//從攝像頭讀入視訊
	//VideoCapture capture("1.avi");
	VideoCapture capture(0);
	Mat edges;

	//迴圈顯示每一幀
	while (1)
	{
		//【1】讀入影象
		Mat frame;//定義一個mat變數,用於儲存每一幀的影象
		capture >> frame;//讀取當前幀
		//【2】把影象轉換為灰度影象
		cvtColor(frame, edges, CV_BGR2GRAY);//轉化RGB影象為灰度影象
		//【3】使用3*3核心來降噪(2*3+1=7)
		blur(edges, edges, Size(7, 7));//進行模糊
		//【4】進行canny邊緣檢測並顯示
		Canny(edges, edges, 0, 30, 3);
		imshow("讀取被Canny後視訊", edges);//顯示當前幀
		if (waitKey(30) >= 0) break;
	}

	return 0;

}

總結:

利用OpenCV的VideoCapture類對視訊進行讀取顯示以及呼叫攝像頭。

讀入視訊的方法(若呼叫攝像頭採集圖片,只需要把“1.avi”換成0)有兩種:

(1)先例項化再初始化:
VideoCapure capture;
capture.open("1.avi");

(2)在例項化的同時進行初始化:

VideoCapture capture("1.avi");

         配合canny邊緣檢測,得到canny邊緣檢測並高斯模糊後的攝像頭採集視訊。