C++Builder XE

MIL开发实践(2)——MIL实时采图 网上找到的关于MIL实时采图的代码基本上都是只有很老的代码,但其实MIL是有自带的关于采图方面的QT的demo的。 阅读详情

Matrox Solios采集卡采集图像示例

前言

本文主要讲解如何在C++Builder XE的开发环境上搭建MIL,实现控制Solios采集卡进行图像采集


正文

一、MIL是什么?

MIL是Matrox公司为Solios采集卡开发的配套驱动程序,里面包含功能强大的图像采集函数库Mil-Lite(基本控制库)和Mil(模式识别库),另外还提供了专为控制图像采集、传输、处理、分析及显示而集成的Active Mil和Active Mil-Lite控件,支持在VC、VC++、VB、Borland C/C++下调用。

二、如何使用MIL?

1.安装采集卡驱动

直接双击setup.exe程序,按照引导一直next,直至安装完成即可。
在这里插入图片描述
注意:博主安装的是32bit MIL-Lite 9 R2 build 1950,若要完整安装教程,可以参考 [青山笑我依旧在](https://blog.youkuaiyun.com/qq_23107577/article/details/120365952) 博主写的文章

2.设置环境变量

假设安装目录为 D:\Program Files (x86)\Matrox Imaging

① 打开环境变量
此电脑 -> 属性 -> 高级系统设置 -> 高级 -> 环境变量
② 新增路径到Path下
双击系统变量下的Path变量,添加以下路径
D:\Program Files (x86)\Matrox Imaging\Mil\DLL

3.C++Builder XE环境设置

① 新建VCL Forms Application工程
② Project -> Options -> Directories and Conditionals
在Include path添加以下头文件路径
D:\Program Files (x86)\Matrox Imaging\Mil\Include
D:\Program Files (x86)\Matrox Imaging\Mil\Include\MilDyn
在这里插入图片描述

在Library path添加静态库文件路径
D:\Program Files (x86)\Matrox Imaging\Mil\LIB
在这里插入图片描述
③直接将Mil.lib添加到工程里
在这里插入图片描述
注意:C++Builder XE直接调用VC开发的库文件会报以下错误,解决方法是使用C++Builder XE自带的implib.exe 将vc的dll转换成bcb支持的lib即可使用,具体命令如下
implib.exe /f D:\Output\BCBFormat\LIB\Mil.lib D:\Program Files (x86)\Matrox Imaging\Mil\DLL\Mil.dll
在这里插入图片描述

4.示例代码


#include <Mil.h>
MIL_ID MilSys = M_NULL;
MIL_ID MilApp = M_NULL;
MIL_ID MilImage = M_NULL;
MIL_ID MilDigit = M_NULL;
MIL_ID MilDisplay = M_NULL;
char DCF_PATH[]="solcl_mil80_XCL-C500_8bit_2tap_c.dcf";//INPUT DCF PATH
char destPath[]="D:\\Log\\output\\test.tiff";

void MilCaptureTestDemo(){
	ShowMessage("初始化");
		MappAllocDefault(M_SETUP,&MilApp,&MilSys,M_NULL,M_NULL,M_NULL);
        //分配采集器
        MdigAlloc(MilSys,M_DEFAULT,(MIL_API_CONST_TEXT_PTR)DCF_PATH,M_DEFAULT,&MilDigit) ;
		//分配buffer
	ShowMessage("分配内存");
        long imgx,imgy,imgtype;
        imgx = MdigInquire(MilDigit,M_SIZE_X,M_NULL);
        imgy = MdigInquire(MilDigit,M_SIZE_Y,M_NULL);
        imgtype= MdigInquire(MilDigit,M_TYPE,M_NULL);
        MbufAlloc2d(MilSys,imgx,imgy,imgtype,M_DISP+M_GRAB+M_IMAGE,&MilImage);
        MbufClear(MilImage,0);
	ShowMessage("采集");
		AnsiString destPath=ExtractFilePath(Application->ExeName)+"test."+Edit_Suffx->Text;
		MdigGrab(MilDigit,MilImage);//采集单帧画面

		if(MilImage!=M_NULL){

			MbufSave(destPath.c_str(),MilImage);
			Image1->Picture->LoadFromFile(destPath);
            MbufFree(MilImage);
			ShowMessage("保存成功!");
		}

        if(MilDigit!=M_NULL){
            MdigFree(MilDigit);
        }

        if(MilApp!=M_NULL)
                MappFreeDefault(MilApp,MilSys,MilDisplay,M_NULL,M_NULL);

}


总结

通过以上的步骤说明,相信大家已经对如何在BCB环境上搭建使用MIL API有一个初步了解,借用诗人陆游的话来说,“纸上得来终觉浅,绝知此事要躬行”,大家可以亲自动手实验下,印象会更加深刻。

六月Delphi XE8 及 C++Builder XE8 中文手册如期上市 为加速用户熟悉 Delphi及 C++Builder产品,我们推出Delphi XE8 及 C++Builder XE8中文手册,如需购买客户可传送电邮至China.Sales@embarcadero.com Delphi XE8共包含下列手册(链接为每本之目录): Delphi XE8移动开发入门手册 http://embarcadero.qcom 阅读详情

相关推荐

Delphi XE 调用 C++ Builder XE 开发的DLL库

【首先用C++ Builder XE 制作DLL】 步骤1:File→New→Other→C++ Builder Project→Dynamic link Library,新建一个DLL工程。保存默认文件名File1.c为DllEntry.c,保存工程文件名为myDLL.cbproj。 步骤2:File→New→Unit - C++Builder,新建一个C文件,保存为UMyDll.c。

qinix2的专栏 3459

C++ Builder 11.3 的新特性

总的来说,C++ Builder 11.3 引入了许多新的特性和改进,旨在提高开发者的工作效率和代码质量,帮助开发者更好地构建现代化的应用程序。

过客2019 2514

Delphi XE8 及 C++Builder XE8 中文手册即将上市

好消息!   为加速用户熟悉 Delphi 及 C++Builder 产品, 我们即将推出 Delphi XE8 及 C++Builder XE8 中文手册, 如需购买客户可传送电邮至 China.Sales@embarcadero.com 注明公司名称, 姓名, 连络电话,我们就会在手册正式推出后(预计六月), 请相关业务人员与您联系. 此套书

英巴卡迪诺中国官方博客 3055

c++builder xe4 体验记

闲来无事今天安装了最新版本的C++BUILDER XE4 把自己的体会心得和大家分享一下吧,记得头一阵子我在我的博客里写过XE3的事情,今天看了XE4后,虽然比起XE3要好很多,但是不实用的东西太多了。安装界面倒是比较华丽呵呵,一会大家看我发的截图大家可以看到。经过一番破解终于启动了XE4,首先不得不让我第一个感觉有意思的东西告诉大家,就是在我说XE3的时候在网上看到有个哥们体验DEPHI XE3

hecgaoyuan的专栏 5161

C++Builder/Delphi XE2 UniDAC安装教程

C++Builder/Delphi  XE2 UniDAC安装教程 UniDAC是一个功能强大的非可视化跨数据库的数据访问组件,可用于Delphi,Delphi for .NET,C++Builder,and Lazarus (Free Pascal)。它提供了对流行数据库服务器的统一访问,像Oracle,Microsoft SQL Server,MySQL,InterBase,Firebird

ljianhui的专栏 6288

C++ Builder XE关于TDateTime批量加减时间TTimerPiker的设置

void __fastcall TForm3::Button3Click(TObject *Sender) {TDateTime *DT = new TDateTime(); //new TDateTime类型变量 *DT=TPicker1->Time; //加 1 小时: DT = (double)DT + 1/24; //加 1 分钟: DT = (double)DT + 1/(24*60); //加 1 秒钟: DT = (double)DT + 1/(24*60*60); unsigned s

lzksword的专栏 1135

C++Builder XE2 lite精简版

听说XE8要出了,我这刚从CB6转型到2010不久的,也是眼馋。奈何XE7太大了,平时也只是学习琢磨点小东西,网上找的2010、2011(XE1)的精简版用着挺好,就是感觉不那么稳定。这两天闲着没事做了一个C++Builder XE2的精简版,测试能用,没有集成第三方控件,带boost库,fmx。纯C++的(顺便鄙视一下那些只做delphi绿色版的高手,逼我这么做的),7z压缩下来164M,下面我...

sdragonx的专栏 5796

C++ Builder XE AdvStringGrid的表格画线显示隐藏经典实例

C++ Builder XE AdvStringGrid的表格画线显示隐藏经典实例

lzksword的专栏 1872

使用C++ Builder Xe6编写ocx

 author:ANGRY_KUA_MAX QQ     :2518383357 Time  :2018-11-03 taobao:https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.594c1debrohhAV&amp;id=577929138091   这几天,因为有客户需要使用64位的驱动程序,之前产品一直出的是32位的...

ANGRY_KUA_MAX 870

C++ builder XE对于sqlite图片Blob字段的多种存取方法

调试环境:win7,C++ builder XE 10.2调试通过。 双击和单击都可以取出图片字段的记录,有二种不同取法。 源码说明如下: 下载源码地址请点击下面按钮(请先确保启动了宏):以后上传了源码后再通知大家 //--------------------------------------------------------------------------- //直接存储SQLite中图片Blob字段二种方法 //--------------------------------...

lzksword的专栏 786

C++ Builder XE10集成开发环境演示项目

C++ Builder XE10是Embarcadero公司推出的一款强大的C++集成开发环境,它提供了丰富的工具和组件,以帮助开发者更快地构建高性能的桌面、移动和服务器应用程序。从其内置的IDE工具到VCL框架,再到跨平台的UI框架FireMonkey,以及丰富的调试和优化工具,C++ Builder XE10致力于简化开发流程并提升应用程序质量。

weixin_42173218的博客 1144

xe6 c++builder Find Definitions/Find References

 Find Definitions/Find References Clang-based C++ Compilers (BCC64, BCCIOSARM, and BCCAARM) support the new Find Definitions and Find References feature. RAD Studio provides the Find (C++) com

ksrsoft的专栏 1282

Mil-lite 9.0 R2(B1950) for Win64

Mil-lite 9.0 R2(B1950) for Win64.采集卡驱动,内附说明,可用,百度云链接

c++builder XE6 添加属性 方法

c++builder XE6 添加属性 方法 c++builder6

ksrsoft的专栏 1931

使用MIL8.0版本库读取图像文件

使用MIL8.0版本库读取图像文件

mil9 crack all .dll

mil9 crack all .dll mil9 crack all .dll

C++ Builder XE 常用快捷键

lzksword的专栏 257

VS2022 中 std::mutex 静态初始化陷阱:一次诡异崩溃的排查记录

VS2022中使用std::mutex时遇到的静态初始化陷阱问题。该问题源于VS2022 17.4版本为std::mutex添加constexpr支持后,全局静态初始化可能导致系统资源未就绪时锁失效或崩溃。文章分析了问题现象、影响范围,并提供了解决方案。最后给出了排查清单和核心建议

qq_34552942的博客 952
上一篇: 如何使用CXF的wsdl2java工具
GoodStudy,UpDay
博客等级 码龄15年 1粉丝 2原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值