首页 > 电脑 > 电脑教程

C操作摄像头实现拍照监控录像功能

电脑教程 2026-05-20 菜科探索 +
简介:从正式工作以来一直做的都是基于B/S的Web开发,已经很长时间不研究C/S的东西了,但是受朋友的委托,帮他做一下拍照的这么个小功能。

其实类似的代码网上有很多,但

【菜科解读】

从正式工作以来一直做的都是基于B/S的Web开发,已经很长时间不研究C/S的东西了,但是受朋友的委托,帮他做一下拍照的这么个小功能。

其实类似的代码网上有很多,但是真的能够拿来运行的估计也没几个。

本来是说周末给做的,但是这两天脑子一直很乱,也没静下来,晚上了,再不做明天有点不好意思啊,只能临时做一个了。

在网上找资料自己做的过程中也发现了一些问题,于是拿到博客上来分享一下,这样一来有需要的朋友可以直接拿来用,二来正在研究的遇到这些问题了可以迎刃而解。

刚开始接触摄像头视频之类的是在大二的时候,那时候因为实验室有一个小项目交到我手上,所以那时候对播放视频之类的了解了一些。

那时候的需求是对已经录下来的监控录像做处理,整个过程是已经不需要自己再去控制录像了,所以相对简单一点。

而拍照和摄像是自己控制,所以稍微复杂那么一点点。

行了,废话说到这里,下面进入正题。

还是以往的作风,只实现功能,对界面不做过多的美化,有需要的朋友可以自己动手。

比较这年头自己动手,丰衣足食嘛。

图1-1是程序的主界面: 图1-1 操作摄像头以及实现拍照功能整个过程主要都是通过一个第三方的组件实现的,名字叫做 AForge ,是国外的组件,所以打开起来有点慢,但是要有耐心啊,目前已经更新到2.2.5版本了。

如果不愿意从官网上下载,文章末尾处也给出了相应的下载地址,需要的话直接拿来用就ok了。

程序也很简单,一个WinForm页面,添加一下对Aforge的引用就可以了,但是这个过程中会引用一些其他的dll,有些不是太常用,所以在这里对引用的dll也做了截图(图1-2),在自己做的过程中参照一下即可。

图1-2 上图1-1中间部分是用来实时显示摄像头开启后获取到的内容,是一个自定义控件。

这里得说明一下,将AForge.Controls.dll拖拽到左侧的工具箱区域,然后就出来自定义控件了。

这里顺便说明一下,我们平时自己开发的自定义控件也可以通过这种方式来给别人用。

前台都准备好了之后我们来开始分析后台代码。

整个的思路是先找到电脑上的摄像头设备,然后选择我们需要操作的设备,然后在拍照或者摄像。

今天由于时间关系仅仅只是实现拍照,下次再做摄像的功能,实现之后也会一样分享在这里的,希望有需要的朋友关注。

当Form加载的时候,我们监听一下其Load事件,将检测到的摄像头设备添加到后边的ComboBox中供用户选择,关键代码如下: Private void Form1_Load(object sender, EventArgs e) // 枚举所有视频输入设备 videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); if (videoDevices.Count == 0) throw new ApplicationException(); foreach (FilterInfo device in videoDevices) { tscbxCameras.Items.Add(device.Name); } tscbxCameras.SelectedIndex = 0; catch (ApplicationException) tscbxCameras.Items.Add("No local capture devices"); videoDevices = null; } 当用户选择某一摄像头设备再点击连接的时候,我们打开摄像头,并对其进行初始化,关键代码: //连接摄像头 private void CameraConn() { VideoCaptureDevice videoSource = new VideoCaptureDevice(videoDevices[tscbxCameras.SelectedIndex].MonikerString); videoSource.DesiredFrameSize = new System.Drawing.Size(320, 240); videoSource.DesiredFrameRate = 1; videoSourcePlayer.VideoSource = videoSource; videoSourcePlayer.Start(); } 当用户关闭点击关闭摄像头的时候,我们做关闭的处理,代码: //关闭摄像头 private void btnClose_Click(object sender, EventArgs e) { videoSourcePlayer.SignalToStop(); videoSourcePlayer.WaitForStop(); } 当用户点击拍照的时候,我们获取摄像头当前的画面,并保存到设定的路径下,然后关闭当前窗口。

关键代码: //拍照 private void Photograph_Click(object sender, EventArgs e) { if (videoSourcePlayer.IsRunning) { BitmapSource bitmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap( videoSourcePlayer.GetCurrentVideoFrame().GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); PngBitmapEncoder pE = new PngBitmapEncoder(); pE.Frames.Add(BitmapFrame.Create(bitmapSource)); string picName = GetImagePath() + "\\" + "xiaosy" + ".jpg"; if (File.Exists(picName)) { File.Delete(picName); } using (Stream stream = File.Create(picName)) { pE.Save(stream); } //拍照完成后关摄像头并刷新同时关窗体 if (videoSourcePlayer != null && videoSourcePlayer.IsRunning) { videoSourcePlayer.SignalToStop(); videoSourcePlayer.WaitForStop(); } this.Close(); } catch (Exception ex) MessageBox.Show("摄像头异常:" + ex.Message); } private string GetImagePath() { string personImgPath = Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory) + Path.DirectorySeparatorChar.ToString() + "PersonImg"; if (!Directory.Exists(personImgPath)) Directory.CreateDirectory(personImgPath); return personImgPath; } 关闭之后,在bin目录下的PersonImg中即可找到保存的图片,当然,在程序中把该图片展示出来效果会更好,但是由于时间关系,就不添加了。

需要的朋友可以自己实现,有问题的欢迎一起交流。

至此,这样一个简单的拍照功能就完成了,在这里,附上源码下载地址。

操作,摄像头,实现,拍照,监控,录像,功能,从,

太原领取社保福利补贴的具体操作指南(5月27日)

社保是社会保险的简称,广义的社会保险包括城镇职工社会保险和城乡居民社会保险,但狭义的社保指的就是职工社保。

领取社保福利补贴的具体步骤和条件是什么?社保补贴怎么拿?领取社保福利补有哪些呢?一文带你了解。

太原领取社保福利补贴的具体操作指南社保福利补贴有多种领取途径,主要涵盖以下几类。

以下将详细说明领取社保福利补贴的具体步骤和所需材料:灵活就业社保补贴:申请条件:适用于就业困难人员(如女性满40周岁、男性满50周岁等特殊群体)、离校2年内未就业的高校毕业生、以及个体工商户等。

所需材料:身份证、户口簿、就业失业登记证、灵活就业承诺书、社保缴费凭证等。

申请流程:线上可通过当地人社局官网或相关APP申请,填写信息并上传相关材料;

线下需前往户籍所在地或常住地街道(乡镇)社保服务中心提交纸质材料。

毕业生就业补贴:适用对象:毕业两年内的高校毕业生,需在中小微企业就业并签订一年以上劳动合同。

补贴标准:各地金额不同,如深圳为一次性3000元,广州为3000元。

申请流程:符合条件的参保人可在满足社保缴纳要求后一次性申领。

失业保险相关补贴:失业保险金:适用于非自愿失业且累计缴纳失业保险满1年者,补贴标准每月约2000元,最长领取24个月。

失业补助金:适用于主动辞职或不符合失业保险金条件者,补贴标准每月300-1000元,最长领取6个月。

生育津贴:适用对象:单位缴纳生育保险满1年的女性职工与配偶参保的失业女性,皆属于适用对象范畴。

补贴标准:根据地区平均工资计算,通常为几万元,可一次性或按月领取。

公积金和养老金:公积金:可用于申请公积金贷款或直接提取,申领条件为正常缴存公积金且无房。

养老金:只要社保累计缴纳满足15年,并且达到法定退休年龄,即可领取养老金,而领取的金额与缴纳金额、年限有关系。

?申请这些补贴时需要注意的事项包括?:如不慎遭遇网络诈骗,保存好相关证据材料并立即报警。

线上预审时,务必在官网进行操作,避免在私人链接提交信息,以防信息泄露。

不同地区的补贴金额和领取期限有所不同,具体需向当地社会保险经办部门咨询或拨打12333热线确认。

冲压操作安全禁忌八不宜

1、用夹紧模柄固定上模时,锁紧螺钉不能过松 小型冲模的上模,常采用如图1所示的夹紧模柄固定的方法。

将滑块上的锁紧螺钉松开,拉出压板,调节压力机连杆丝杠,使滑块下平面接触模具上平面,并使模柄进入滑块上的模柄孔;

然后拧紧锁紧螺钉,使压块夹紧模柄固定上模。

固定时,要先使滑块压板两端的螺母交替进行拧紧,最后拧紧滑块中部紧固螺钉。

如果锁紧螺钉拧得过松,在冲压过程中,因振动上模可能会掉下,产生冲压事故。

图1 夹紧模柄 2、模具不经试冲不能用于冲压生产 模具的试冲是冲压生产的必要环节。

新模具装配后,能否冲出合格的零件,实现特定的工艺,模具的使用性能如何,弹簧卸料力是否足够,这些需要经过试冲才能知道;

正常冲压生产中,每批次冲压前,从模具库领用模具安装在压力机上后,也需进行试冲和调整,试冲后的工件经检验合格后,才能进入正式生产;

另外,生产过程中,模具损坏经修理后,需进行试冲,检验修理后的模具是否合格。

因此,模具只有经过试冲后,才能用于冲压生产。

图2所示为模具制造的基本工艺路线,可见,试模这个环节(包括试冲与调整)是模具制造不可缺少的基本环节,有时试模的时间甚至超过模具加工制造的时间。

图2 模具制造的基本工艺路线 3、冲压生产区不能有铁屑,废料和油污 冲压生产时,作业者应把压力机和工作场地加以检查、整理:检查冲模内是否干净;

检查冲模的螺钉紧固情况和在压力机上的固定情况;

检查材料厚度及表面清洁情况;

检查工作场地的清洁情况,地面不能有铁屑、废料和油污。

这是因为铁屑和废料容易进入模具内,将损坏模具。

此外,在工作场地,铁屑、废料也可能扎伤人手和脚,地面若有油污,可能使人滑倒,出现安全事故。

4、模具冲压期间,人体的任何部分都不能进入危险区 为了确保人身安全,冲模运行期间,人体任何一部分都不能进入冲压危险区,否则将发生安全事故。

所谓冲压危险区,是指冲模安装在压力机台面后的垂直投影面,如图3所示。

为了防止人体进入冲压危险区,需要采取冲压安全技术措施,如尽量采用机械化和自动化生产;

遵守安全的流程和操作方法(如双手按钮);

设置防护装置等。

图3 冲压危险区 5、冲压生产不能忽略防护装置 防护装置的功能是在滑块运行期间,使人体各部分不会进入危险区,这样就不会发生安全事故。

例如:在压力机工作台或模具上,设置如图4b 所示用薄钢板或有机玻璃制造的防护装置,在冲床设置光线式安全保护装置等。

图4 防护装置 6、送坯料时手不能进入模具工作区 冲压坯料分卷料、条料及块料等。

卷料一般用自动送料装置,手不会进入模具工作区;

块料及条料如用手动送进时,要注意手不能进入模具工作区,必须使用夹钳、吸盘等工具,来放坏料,取工件,如图5b 所示。

为了防止失误将手工具压入模具,造成模具及设备损坏,手工具要用软铝或其他软材料制成。

图5 安全手工具 7、冲压生产的噪声不允许超过85dB 噪声是一大社会公害,人们在90 dB(分贝)以上噪声环境中长期工作,有可能发生噪声性耳聋。

为了保护工人的健康,减少对环境的污染,冲压生产的噪声不允许超过85dB,否则工人会发生噪声性耳聋,神经系统和心血管系统受到影响。

因此,必须对冲压生产中的噪声加以控制。

图6 噪声仪 8、冲压生产不宜采用压缩空气喷嘴吹卸小工件 压缩空气吹卸工件会产生强烈的高频噪声。

为了减少噪声,冲压生产不宜采用压缩空气喷嘴吹卸小工件,而采用如图7所示的手工工具取样最好改用磁力吸盘、抓取装置等噪声较小的机构。

如果必须使用吹件装置时,可采用小直径喷嘴、消声喷嘴、降低气流速度等措施降低噪声。

猜你喜欢

win10死机怎么办
win10死机怎么办
电脑教程 2026-05-30
enable电脑上是什么意思?
enable电脑上是什么意思?
电脑教程 2026-05-28
asus电脑是哪个品牌
asus电脑是哪个品牌
电脑教程 2026-05-20
首雨180插卡收音机拆机图文
首雨180插卡收音机拆机图文
电脑教程 2026-05-18

C操作摄像头实现拍照监控录像功能

点击下载文档

格式为doc格式