Matrox Solios采集卡采集图像示例

文章目录

  • Matrox Solios采集卡采集图像示例
  • 前言
  • 正文
  • 一、MIL是什么?
  • 二、如何使用MIL?
    • 1.安装采集卡驱动
    • 2.设置环境变量
    • 3.C++Builder XE环境设置
    • 4.示例代码
  • 总结

前言

本文主要讲解如何在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.csdn.net/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) ;//分配bufferShowMessage("分配内存");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有一个初步了解,借用诗人陆游的话来说,“纸上得来终觉浅,绝知此事要躬行”,大家可以亲自动手实验下,印象会更加深刻。

C++Builder XE相关推荐

  1. C++builder XE 安装控件 及输出路径

    C++builder XE 安装控件 与cb6不一样了,和delphi可以共用一个包. 启动RAD Studio.打开包文件. Project>Options>Delphi Compile ...

  2. C++ Builder XE 透明窗体特效处理实例

    源码下载:C++builderXE透明窗体的设置,背景透明交互功能效果处理-C++文档类资源-CSDN下载C++builderXE透明窗体的设置,背景透明交互功能效果处理更多下载资源.学习资料请访问C ...

  3. C++ builder XE 关于intraweb TChart转换成IWimage的网页显示处理

    //先随机生成三条柱状图形对比,但是如果光是TChart是无法显示在intraweb网页上的,需要转成图片显示 void __fastcall TIWForm1::IWButton3Click(TOb ...

  4. 重新启动C++Builder

    最开始接触电脑时还是软盘启动的好像是什么PC机,语言好像是QBasic.dBase3.几年后决心学习编程时已是vb4,有次在书店里闲逛时还看到有人买vb3的书,清楚地记得那人说了句话:把这个学好就行了 ...

  5. [翻译]Windows 8 Developer Tools C++Builder XE3

    2013-02-02 Windows 8 Developer Tools  C++Builder XE3 英文原文:http://www.embarcadero.com/products/cbuild ...

  6. Delphi多平台开发版本选型

    以下是Delphi开发的主流版本,从年代最早开始排序: Delphi 7 :  简称D7,  Delphi的经典版本,稳定,32位Windows XP 时代的流行.             仅能开发w ...

  7. android sqlite 打包 xe,C++ Builder XE10快速开发关于sqlite数据库APP应用发布小结

    因为C++ Builder XE10资料一直较少,所以作为C++ Builder业余fans,有必要为这冷门提供一些技术支持,与小伙伴们一起成长! 本视频系列,主要是讲解C++ Builder XE1 ...

  8. oracle缺少key xe.reg,【Oracle XE系列之一】Windows 7 64位安裝Oracle XE(32位)數據庫(REG_XE報錯、字符集、修改8080端口等)...

     一.安裝 1.去Oracle官網下載XE版的安裝包(貌似Windows只有32位的,Linux只有6位的),解壓. 2.雙擊Setup.exe,啟動安裝程序,在選在路徑那里不要點下一步,否則會報 ...

  9. c++Builder XE6 MD5 加密算法 BASE64 URL 编码

    xe6,xe7 BASE64XE6 MD5 加密算法Delphifunction MD5(const texto: string): string; varidmd5: TIdHashMessageD ...

最新文章

  1. table1函数----一维查表
  2. LeetCode每日一题 24. 两两交换链表中的节点
  3. Excel实用函数大全(名称、功能、说明、用法、举例)
  4. javascript 事件委派
  5. springboot日志按照天自动输出_SpringBoot使用logback实现日志按天滚动-阿里云开发者社区...
  6. Java笔记-构造RESTful的WebService
  7. Installing specific major Java JDK versions on OS X via Homebrew
  8. OpenGL驱动质量的事实现状(精简翻译版)
  9. 数据结构:列表(双向链表)的了解与示例
  10. ideahtml调用jquery函数失败_[WEB篇]-JQuery-06-Jquery实现异步调用
  11. 使用php下载的文件打不开,自己用着没问题,客户用就不行?
  12. 安装sun-java5-jdk 提示无法找到软件包sun-java5-jdk
  13. pip安装tensorflow_Tensorflow源代码编译踩坑若干
  14. 故障:删除不存在的设备或完全卸载驱动程序
  15. QListView拖动排序
  16. AsyncTask异步加载给视频截取第一帧图片
  17. ThinkPad F1按键常亮且喇叭无声音
  18. 密码学系列(一):密码行业、政策介绍
  19. PG据库备份与恢复实验 (PITR)
  20. html给数字加货币单位,WPS如何批量给数字添加货币符号?

热门文章

  1. 大话设计模式-代理模式(大鸟和小菜Java版)
  2. 027-2018-1015 服务端,客户端,socket
  3. 服务网格规模化应用下的Istio Sidecar配置管理挑战与实践|IstioCon 2022
  4. 非法控制计算机系统罪 要点,怎么认定非法控制计算机信息系统罪,认定该罪的标准?...
  5. 开源ERP Tryton 内容介绍,用Python语言,2022年5月大更新,多语言,多货币,多国用户
  6. 小程序-input框如何输入带有emoji表情功能
  7. linux命令分割文件
  8. 从ORA-01752的错误,透过现象看本质
  9. 董事长被撤销政协委员资格,这家数据安全公司市值蒸发40亿元
  10. Android中实现App的退出