phpcms 恢复网站,网页加载流程,系统管理平台,网站都需要备案吗文章目录 相关链接视频流读取CCSharpPython 总结 相关链接 CPythonCsharp in OpenCV 专栏 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程#xff08;附带课程课件资料课件笔记#xff09; OpenCV 教程中文文档|OpenCV中文 OpenCV教程中文文档|W3Csc… 文章目录 相关链接视频流读取CCSharpPython 总结 相关链接 CPythonCsharp in OpenCV 专栏 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程附带课程课件资料课件笔记 OpenCV 教程中文文档|OpenCV中文 OpenCV教程中文文档|W3Cschool OpenCV基础教程——视频的读取与写入(超详细附代码) 视频流读取
我之前写过一篇基于Python的我现在重新写一次 PythonOpenCV 零基础学习笔记(4-5):计算机图形基础Python相对文件路径OpenCV图像OpenCV视频 如果你想要一个简单的B站视频流下载器这里推荐一个 哔哩下载姬downkyi_v1.6.1 下载 如果想获取视频流B站上面随便搜一下就可以 卓特视觉视频素材 B站账号 于我何方 B站账号 比如我这里下载一个视频素材 【4K】群山无版权视频素材-6 C OpenCV基础教程——视频的读取与写入(超详细附代码) #include opencv2/opencv.hpp
#include opencv2/core/core.hpp
#include opencv2/highgui/highgui.hpp
#include opencv2/imgproc.hpp
#includeiostream
using namespace std;
using namespace cv;
int main()
{VideoCapture video(D:/workSpace/OpenCV/HellOpenCV/Resources/video/test.mp4);//video.open();auto isOpen false;Mat frame;if (video.isOpened()) {//读取第一帧视频isOpen video.read(frame);}else {cout 不存在此视频 endl;}while (isOpen){ //不断的判断下一帧是否为空isOpen video.read(frame);//如果为空则跳出循环if(frame.empty()){break;}imshow(C, frame);int keyValue waitKey(10);//27是ESC的ASCLL码按下ESC退出if (keyValue 27) {break;}}cout 播放结束 endl;//释放视频流video.release();//关闭所有窗口destroyAllWindows();return 0;
}CSharp
internal class Program
{static void Main(string[] args){VideoCapture video new(D:/workSpace/OpenCV/HellOpenCV/Resources/video/test.mp4);//video.open();var isOpen false;Mat frame new Mat();if (video.IsOpened()){//读取第一帧视频isOpen video.Read(frame);}else{Console.WriteLine(不存在此视频);}while (isOpen){//不断的判断下一帧是否为空isOpen video.Read(frame);//如果为空则跳出循环if (frame.Empty()){break;}Cv2.ImShow(CSharp, frame);int keyValue Cv2.WaitKey(10);//27是ESC的ASCLL码按下ESC退出if (keyValue 27){break;}}Console.WriteLine(播放结束);//释放视频流video.Release();//关闭所有窗口Cv2.DestroyAllWindows();}
}Python
Python我们改改代码试着输出一下灰度视频流
# %%
# 导入包
import cv2
import matplotlib.pyplot as plt
import numpy as np# 导入视频
input_video {}
# 下载好的视频文件
input_video[vc] cv2.VideoCapture(D:/workSpace/OpenCV/HellOpenCV/Resources/video/test.mp4)
# 判断是否读取成功
if input_video[vc].isOpened():# Python语法元组读取input_video[open] input_video[vc].read()
else:input_video[open] False# 循环帧读取两个退出条件视频播放完/输入ESC退出
while input_video[open]:open,frame input_video[vc].read()if frame is None:break;if open:# 我们先播放灰度图像gray cv2.cvtColor(frame)# 打开一个名为result的窗口播放帧cv2.imshow(result,gray)# 这个是特殊组合waiteKey指每帧的时间输入esc退出视频播放if cv2.waitKey(10) 0xff 27:break;# 释放视频输入流
input_video[vc].release();
# 关闭所有窗口
cv2.destroyAllWindows(); 这里图像显示有点问题分辨率不对。我后面有空去网上找找解决方案
总结
详细的可以看这个博客介绍的比较全面 OpenCV基础教程——视频的读取与写入(超详细附代码) 经过这次代码书写我发现确实算子基本差不多尤其是C和Csharp跑通了CCsharp也差不多就通了。Python简化的比较多大致上也是调用算子。