news 2026/7/19 2:12:15

OpenCV + WinFrom连接手机摄像头

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenCV + WinFrom连接手机摄像头

帮我节省1000元购买海康卫视的工业相机....

首先分别下载Iriun PC端和手机app端 手机app下载可以自行搜索 Iriun Webcam

1.自行测试

手机wifi和电脑wifi需要在同一个路由器网段

2.新建C# WinForm项目

1.右键项目名->管理NuGet程序包(N)....

OpenCVSharp4

OpenCVSharp4.Runtime.win

OpenCVSharp4.Extensions

2.添加引用

using OpenCvSharp; using OpenCvSharp.Extensions; using System.Drawing; using System.Drawing.Imaging; using System.Numerics; using System.Windows.Forms;

3.在From设计界面添加5个控件

PictureBox Button打开视频 Button保存图片 label Timer

PictureBox 显示模式:CenterImage

Timer 时间Interval 设置为1000ms

4.完整代码

using OpenCvSharp; using OpenCvSharp.Extensions; using System.Drawing; using System.Drawing.Imaging; using System.Numerics; using System.Windows.Forms; namespace WinFormsApp2 { public partial class Form1 : Form { VideoCapture capture; bool IsSave = false; public Form1() { InitializeComponent(); //关闭Windows Forms控件之间的跨线程调用检查 Control.CheckForIllegalCrossThreadCalls = false; timer1.Start();//打开计时器,显示当前时间 } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { capture = new VideoCapture(2);//0、1本地摄像头 2手机摄像头 if (!capture.IsOpened()) { MessageBox.Show("无法打开摄像头"); return; } Thread video_th = new Thread(StartCapturing); video_th.IsBackground = true; video_th.Start(); } private void StartCapturing() { Mat frame = new Mat(); while (true) { capture.Read(frame);//读取视频流 //对帧图像进行处理 //将帧图像转换为Bitmap,然后在PictureBox显示 Bitmap bitmap = BitmapConverter.ToBitmap(frame); if (IsSave) { bitmap.Save(DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss_fff")+".jpg",ImageFormat.Jpeg); IsSave = false; } pictureBox1.Image = bitmap; pictureBox1.Refresh(); } } private void timer1_Tick(object sender, EventArgs e) { label1.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ff");//显示当前时间 } private void button2_Click(object sender, EventArgs e) { IsSave = true;//保存图片 } } }

通过网盘分享的文件:IriunWebcam-2.9.1.exe 链接: 百度网盘 请输入提取码 提取码: vtkt

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/19 2:10:38

ARM嵌入式开发实战:从架构基础到RTOS应用完整指南

在嵌入式开发领域,ARM架构无疑是每个工程师必须掌握的核心技术。无论是智能家居、工业控制还是物联网设备,ARM处理器都占据着主导地位。但很多初学者在面对ARM开发时常常感到无从下手——复杂的指令集、多样的开发环境、硬件与软件的紧密结合&#xff0c…

作者头像 李华
网站建设 2026/7/19 2:10:37

Muse Spark 1.1:AI驱动的智能代码补全与文档生成实战指南

如果你正在寻找一个既能理解复杂代码逻辑,又能生成高质量技术文档的AI助手,那么Meta最新发布的Muse Spark 1.1绝对值得你立即关注。这个专门为开发者设计的AI工具,正在改变我们编写代码、调试程序和文档协作的方式。与市面上那些通用型AI助手…

作者头像 李华
网站建设 2026/7/19 2:09:24

商业分析自动化系统:从数据采集到报告生成的全流程实践

这次我们来看一个商业分析项目的完整实现方案。这个项目不是简单的数据可视化,而是从数据采集到报告生成的全流程自动化系统,特别适合需要定期输出商业洞察的团队或个人使用。项目的核心价值在于将商业分析标准化、自动化。通过预设的分析框架和可配置的…

作者头像 李华
网站建设 2026/7/19 2:08:19

计算机组成原理与硬件系统详解

1. 计算机组成原理概述计算机组成原理是计算机科学的核心基础课程,它研究计算机硬件系统的基本组成和工作原理。理解计算机组成原理对于从事计算机相关工作的人员至关重要,无论是软件开发、系统维护还是硬件设计,都需要掌握这些基础知识。现代…

作者头像 李华
网站建设 2026/7/19 2:08:07

C++实现课堂幸运转盘点名系统:随机算法与STL实战

1. 项目概述与核心价值最近在和一些高校的朋友交流时,发现不少老师还在为课堂点名这件事头疼。传统的点名册、按学号轮流,学生容易摸清规律,课堂互动性也差。正好手头有个小项目需求,我就琢磨着用C写一个带点“趣味性”的课堂点名…

作者头像 李华
网站建设 2026/7/19 2:08:00

15个微行动策略:技术人职业发展的实战指南

1. 职业发展的即时行动清单刚入行时我总在等待"完美时机"——等考完某个证书、等做完某个大项目、等领导主动发现我的价值。直到有次和部门总监喝咖啡,他一句话点醒我:"职业发展不是等来的,是每天用15分钟零碎时间堆出来的。&…

作者头像 李华