OpenCV學習筆記 OpenCV視訊操作基礎
阿新 • • 發佈:2019-02-15
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)先例項化再初始化:讀入視訊的方法(若呼叫攝像頭採集圖片,只需要把“1.avi”換成0)有兩種:
VideoCapure capture;
capture.open("1.avi");
(2)在例項化的同時進行初始化:
VideoCapture capture("1.avi");
配合canny邊緣檢測,得到canny邊緣檢測並高斯模糊後的攝像頭採集視訊。