欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C/C++中的OpenCV讀取視頻與調(diào)用攝像頭

 更新時間:2022年11月10日 08:32:59   作者:IT1995  
這篇文章主要介紹了C/C++中的OpenCV讀取視頻與調(diào)用攝像頭,具有很好的參考價值,希望對大家有所幫助。

OpenCV讀取視頻與調(diào)用攝像頭

讀取視頻

1.先實例化再初始化

VideoCapture capture;
Capture.open("1.avi");

2.實例化的同時進行初始化

VideoCapture capture("1.avi");

播放視頻

視頻讀如到VideoCapture類對象之后,用一個循環(huán)將每一幀顯示出來

while(1)

{

Mat frame;

capture>>frame;

imshow("讀取視頻",frame);

waitkey(30);

}

調(diào)用攝像頭

將代碼VideoCapture capture("1.avi")中的1.avi換成0就可以了

下面來看一段代碼: 

#include <opencv2\opencv.hpp>
using namespace cv;
using namespace std;
 
int main()
{
	//讀取視頻或攝像頭
	VideoCapture capture("1.avi");
 
	while (true)
	{
		Mat frame;
		capture >> frame;
		imshow("讀取視頻", frame);
		waitKey(30);	//延時30
	}
	return 0;

這是讀取文件然后進行播放

下面是運行結(jié)果:

下面看看工程目錄的圖

下面是打開攝像頭的代碼

#include <opencv2\opencv.hpp>
using namespace cv;
using namespace std;
 
int main()
{
	//讀取視頻或攝像頭
	VideoCapture capture(0);
 
	while (true)
	{
		Mat frame;
		capture >> frame;
		imshow("讀取視頻", frame);
		waitKey(30);	//延時30
	}
	return 0;
}

運行結(jié)果:

Opencv讀取視頻以及打開攝像頭以及視頻讀取失敗原因

1、打開攝像頭

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
String window_name = "Capture - face detection";
int main() {
?? ?// 實例化
?? ?VideoCapture camera;
?? ?camera.open(0); ? ?// 打開攝像頭, 默認攝像頭cameraIndex=0
?? ?if (!camera.isOpened())
?? ?{
?? ??? ?cerr << "Couldn't open camera." << endl;
?? ?}

?? ?// 設(shè)置參數(shù)
?? ?camera.set(CAP_PROP_FRAME_WIDTH, 1000); ? ? ?// 寬度
?? ?camera.set(CAP_PROP_FRAME_HEIGHT, 1000); ? ?// 高度
?? ?camera.set(CAP_PROP_FPS, 30); ? ? ? ? ? ? ? ? ? ? // 幀率

?? ?// 查詢參數(shù)
?? ?double frameWidth = camera.get(CAP_PROP_FRAME_WIDTH);
?? ?double frameHeight = camera.get(CAP_PROP_FRAME_HEIGHT);
?? ?double fps = camera.get(CAP_PROP_FPS);

?? ?// 循環(huán)讀取視頻幀
?? ?while (true)
?? ?{
?? ??? ?Mat frame;
?? ??? ?camera >> frame;
?? ??? ?imshow(window_name, frame);
?? ??? ?if (waitKey(33) == 27) break; ? // ESC 鍵退出
?? ?}

?? ?// 釋放
?? ?camera.release();
?? ?destroyWindow("camera");
?? ?return 0;
}

2、視頻讀取

#include <opencv2/opencv.hpp>
#include "zhelpers.h"
#include <iostream>
using namespace std;
using namespace cv;
String window_name = "Capture - face detection";
int main() {
?? ?// 實例化

?? ?VideoCapture capture;
?? ?Mat frame;
?? ?capture.open("D:\\OtherFiles\\Video\\The.Wandering.Earth.mp4");
?? ?//capture.open(0); ? ?// 打開攝像頭, 默認攝像頭captureIndex=0

?? ?void* context = zmq_init(1);
?? ?void* publisher = zmq_socket(context, ZMQ_PUB);
?? ?zmq_bind(publisher, "tcp://*:5556");

?? ?if (!capture.isOpened())
?? ?{
?? ??? ?cout << "Couldn't open capture." << endl;
?? ??? ?return -1;
?? ?}

?? ?// 設(shè)置參數(shù)
?? ?capture.set(CAP_PROP_FRAME_WIDTH, 1000); ? ? ?// 寬度
?? ?capture.set(CAP_PROP_FRAME_HEIGHT, 1000); ? ?// 高度
?? ?capture.set(CAP_PROP_FPS, 30); ? ? ? ? ? ? ? ? ? ? // 幀率

?? ?// 查詢參數(shù)
?? ?double frameWidth = capture.get(CAP_PROP_FRAME_WIDTH);
?? ?double frameHeight = capture.get(CAP_PROP_FRAME_HEIGHT);
?? ?//double fps = capture.get(CAP_PROP_FPS);

?? ?// 循環(huán)讀取視頻幀
?? ?while (true)
?? ?{
?? ??? ?capture >> frame;
?? ??? ?imshow("capture", frame);
?? ??? ?if (waitKey(33) == 27) break; ? // ESC 鍵退出
?? ?}

?? ?// 釋放
?? ?capture.release();
?? ?destroyWindow("capture");
?? ?return 0;
}

3、視頻讀取失敗原因

如果是

VideoCapture capture;
capture.open("D:\\OtherFiles\\Video\\1.mp4");

第二部報錯:

將VS配置的鏈接器->附加依賴項中的opencv_worldxxx.lib刪除保留opencv_worldxxxd.lib

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++使用string的大數(shù)減法運算(2)

    C++使用string的大數(shù)減法運算(2)

    這篇文章主要為大家詳細介紹了C++使用string的大數(shù)減法運算,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • C語言GetStdHandle函數(shù)使用方法

    C語言GetStdHandle函數(shù)使用方法

    這篇文章介紹了C語言GetStdHandle函數(shù)的使用方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • 在C++17中實現(xiàn)無鎖數(shù)據(jù)結(jié)構(gòu)的方法詳解

    在C++17中實現(xiàn)無鎖數(shù)據(jù)結(jié)構(gòu)的方法詳解

    在探索?C++17?中的無鎖數(shù)據(jù)結(jié)構(gòu)之前,我們首先需要理解無鎖編程的基本概念及其在現(xiàn)代軟件開發(fā)中的重要性,在這個章節(jié)中,我們將深入探討無鎖編程的概念,以及它如何滿足人類對于更高效、更可靠軟件的本能需求,文中通過代碼示例介紹的非常詳細,感興趣的朋友可以參考下
    2023-12-12
  • C++中引用(&)的用法與應(yīng)用實例分析

    C++中引用(&)的用法與應(yīng)用實例分析

    引用是C++引入的新語言特性,是C++常用的一個重要內(nèi)容之一,正確、靈活地使用引用,可以使程序簡潔、高效。故在本篇中我將對引用進行詳細討論,希望對大家更好地理解和使用引用起到拋磚引玉的作用
    2013-09-09
  • 簡要對比C語言中的setgid()函數(shù)和setregid()函數(shù)

    簡要對比C語言中的setgid()函數(shù)和setregid()函數(shù)

    這篇文章主要介紹了C語言中的setgid()函數(shù)和setregid()函數(shù)的簡要對比,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-08-08
  • c語言中十進制轉(zhuǎn)二進制顯示小工具的實現(xiàn)代碼

    c語言中十進制轉(zhuǎn)二進制顯示小工具的實現(xiàn)代碼

    本篇文章是對c語言中十進制轉(zhuǎn)二進制顯示小工具的實現(xiàn)代碼進行了詳細的分析的介紹,需要的朋友參考下
    2013-05-05
  • C++ STL list 遍歷刪除出錯解決方案

    C++ STL list 遍歷刪除出錯解決方案

    這篇文章主要介紹了C++ STL list 遍歷刪除出錯解決方案的相關(guān)資料,這里對出錯進行分析,并給出正確的解決方法,需要的朋友可以參考下
    2016-12-12
  • C語言 數(shù)組中重復(fù)的數(shù)字分析及方法

    C語言 數(shù)組中重復(fù)的數(shù)字分析及方法

    這篇文章主要介紹了C語言 數(shù)組中重復(fù)的數(shù)字分析及方法的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 解析C++ 浮點數(shù)的格式化顯示

    解析C++ 浮點數(shù)的格式化顯示

    本篇文章是對C++中浮點數(shù)的格式化顯示進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C++中的四種類型轉(zhuǎn)換

    C++中的四種類型轉(zhuǎn)換

    類型轉(zhuǎn)換有c風(fēng)格的,當(dāng)然還有c++風(fēng)格的。c風(fēng)格的轉(zhuǎn)換的格式很簡單(TYPE)EXPRESSION,但是c風(fēng)格的類型轉(zhuǎn)換有不少的缺點,有的時候用c風(fēng)格的轉(zhuǎn)換是不合適的,因為它可以在任意類型之間轉(zhuǎn)換,
    2015-08-08

最新評論