工控编程吧
标题:
324上位机VC MFC利用大恒图像卡采集图像录制视屏
[打印本页]
作者:
qq263946146
时间:
2016-9-22 16:30
标题:
324上位机VC MFC利用大恒图像卡采集图像录制视屏
(, 下载次数: 3)
上传
点击文件名下载附件
图像卡采集图像录制视屏
功能展示
图像识别系统在工业控制系统中越来越成熟,我们当前例程使用大恒公司DH-VT120双通图像卡实现图像的采集,视屏的录制,效果如图,点击对应按钮可以实现对应功能,板卡采集的图像数据流可以通过算法进一步用来识别图像实现具体功能,如果距离测量,尺寸测量,配合伺服定位等等;
要点提示
在具体使用大恒公司DH-VT120图像卡前得从官网下载SDK开发包,进行板卡驱动的安装,然后复制开发包内的头文件,静态库,动态库,或产品控件进行项目的开发。具体用到的文件有CGDevMm.dll,CGVideo.dll,CGVidEx.dll,CGDef.h,CGVideo.h,CGVideo.lib,CGVidEx.h,CGVidEx.lib,都已存放在例程根目录方便学习使用。
视频卡的控制函数的具体介绍与使用例程都可以从开发包附带的编程手册获得,我们当前例程从实际的项目工程中抽取了板卡的控制功能,集成了Cvideo类,只要简单三步就可以快速使用此类控制视频卡;
1.包含类的头文件#include“Video.h”构造类的实例CVideo m_Video; 调用类的两成员函数初始化类m_Video.VideoSetRect(1,rect); m_Video.VideoSetWin(1,this);
2.调用类的公式成员函数实现待定功能;
3.程序退出时调用m_Video.VideoDestroy()实现板卡资源的释放;
实现功能
1.新建基于对话框的应用程序
2.将例程根目录视频卡的开发文件CGVidEx.dll,CGVideo.dll,CGDevMm.dll及文件夹Video Function复制到自己工程目录使用,也可从官方网站下载这些开发文件,再将集成类Cvideo的头文件源文件Video.cpp,Video.h复制到自己工程根目录;
3.在主对话框中包含Cvideo,头文件及定义一实例#include"Video.h“ private:CVideo m_Video;
4.依照例程界面添加两图片控件IDC_VIDEO,IDC_VIDEO1用于采集图片的显示,再依次添加按钮实现具体功能,程序初始函数OnInitDialog()中初始化视频卡
CRect rect;
GetDlgItem(IDC_VIDEO)->GetWindowRect(&rect);
ScreenToClient(&rect);
m_Video.VideoSetRect(1,rect);
m_Video.VideoSetWin(1,this);
GetDlgItem(IDC_VIDEO1)->GetWindowRect(&rect);
ScreenToClient(&rect);
m_Video.VideoSetRect(2,rect);
m_Video.VideoSetWin(2,this);
5.程序退出函数OnDestroy()中释放视频卡资源
void CGkbc8Dlg::OnDestroy()
{
CDialog::OnDestroy();
m_Video.VideoDestroy();
}
6,最后专心实现我们自己想要的功能,如果录像,保存图片,也就是我们添加的按钮的点击函数
void CGkbc8Dlg::OnButton1()
{
m_Video.VideoSnapExecute(1,TRUE);
}
void CGkbc8Dlg::OnButton2()
{
m_Video.VideoSnapExecute(1,FALSE);
}
void CGkbc8Dlg::OnButton12()
{
m_Video.VideoTakePicture(1);
}
void CGkbc8Dlg::OnButton7()
{
m_Video.VideoStartRecordVideo(1);
}
void CGkbc8Dlg::OnButton8()
{
m_Video.VideoStopRecordVideo(1);
}
void CGkbc8Dlg::OnButton3()
{
m_Video.VideoSnapExecute(2,TRUE);
}
void CGkbc8Dlg::OnButton4()
{
m_Video.VideoSnapExecute(2,FALSE);
}
void CGkbc8Dlg::OnButton13()
{
m_Video.VideoTakePicture(2);
}
void CGkbc8Dlg::OnButton5()
{
m_Video.VideoStartRecordVideo(2);
}
void CGkbc8Dlg::OnButton6() { m_Video.VideoStopRecordVideo(2); }
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/48a47651a8c8148d7cd54e07e432514c/0/0/w_19rstbvndt.swf-albumId=6359212109-tvId=6359212109-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件 [weixinlianxi]1[/weixinlianxi]
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4