> 文档中心 > 视频输入输出1-读取视频构造函数

视频输入输出1-读取视频构造函数

你知道C++里的VideoCapture构造函数吗?它就像我们借书时用的借书卡——你得先"借"到资源才能用。但你可别忘了还书,否则系统里会堆满了"借书卡" finds不到归处,到头来系统崩溃,得不偿失!这就叫做内存泄漏。

在C API里,处理完视频后得用cvReleaseCapture()把CvCapture结构体释放,否则你就是在堆积"借书卡"。或者用Ptr,析构函数会自动释放,这就像是把"自动还书"的功能打开,以防你粗心大意。

选择APIPreference的时候,你可以打开视频文件、摄像头或者IP视频流。比如CAP_DSHOW好用但容易出问题,CAP_FFMPEG稳定但麻烦。就像选快递,顺丰快但贵,普通邮局慢但便宜,你得根据需求选。

所以,在处理视频的时候,记得:
1. 正确选择APIPreference;
2. 不要乱扔垃圾,及时释放资源;
3. 用Ptr会比较靠谱。

构造函数默认构造函数注意在 C API 中,当您处理完视频后,使用 cvReleaseCapture() 释放 CvCapture 结构,或使用在析构函数中自动调用 cvReleaseCapture() 的 Ptr。使用 API Preference 打开视频文件或捕获设备或 IP 视频流以进行视频捕获。

cv::VideoCapture::VideoCapture(const String &filename, int apiPreference = CAP_ANY