
MIL教程
MIL(Matrox Image Library)是一套工业图像处理(机器视觉)库,易于使用,功能强大,在工业中应用广泛,但是除了MIL自带的手册外,教程很少。这个专栏旨在形成一套关于MIL的安装、入门和提高的教程。
文大侠666
专注安全领域,擅长Go/C++,玩点大数据。
展开
-
11.MIL中测量模块(Measurement)
上节说过灰度匹配的鲁棒性太差,在定位一些特殊的简单特征时,使用单方向的灰度跳变特征(和边缘检测类似)来定位的鲁棒性较好,速度快。你可以定位指定的点、边、条纹三种特征,定位的两个特征的间距即为长度、宽度等特征,所以这个模块叫做测量模块。1.测量流程(1).分配指定的特征Marker使用MmeasAllocMarker函数来设置指定的特征,MIL支持三种特征:点(M_POINT),边(M_原创 2014-03-31 16:45:42 · 5727 阅读 · 2 评论 -
10.MIL中灰度匹配(Pattern)
上节已经提到,图像处理中的匹配包括灰度匹配和几何匹配。灰度匹配主要原理是一对一的像素比对,算法实现是计算两个图像的相关,容易理解,实现容易,但是计算量太大且鲁棒性较差。相对于几何匹配,灰度匹配应用的越来越少,但是在一些比较友好的环境中使用灰度匹配也能得到比较好的效果。匹配流程同样,对于MIL中的中级操作,处理流程遵循如下规则:分配对象->设置对象->(预处理对象原创 2014-03-31 11:57:19 · 8133 阅读 · 7 评论 -
9.MIL中几何匹配(Model)
在MIL系列连载的前8篇都是关于图像获取和输出的主题,从这一篇开始,主要的内容就图像处理。在冈萨雷斯的《数字图像处理》的序言中将图像处理分为如下三类1.低级处理,主要是用于图像的预处理和增强操作,输入和输出都是图像,在MIL中对应Mim...模块2.中级处理,主要是对象识别、分析和测量,输入是图像,输出是从图像中提取的属性(如边缘、轮廓、位置、距离等等),在MIL中对应Mblob、Mc原创 2014-03-14 16:28:19 · 8469 阅读 · 4 评论 -
8.MIL中相机标定(Calibration)
前面讲了MIL的在线采集,这就引申出了如下的问题:1.由于镜头畸变、相机内部参数不一致、环境影响等诸多因素的影响,实际相机采集到的图片会产生扭曲、变形等等,其中最常见的就是镜头畸变,这个问题如何解决?2.不同的相机、不同的镜头针对同一现实物体采集得到的图像的大小不一样,如何确立现实物体和实际图像的对应关系(度量单位转换)?这两个问题通过相机标定来解决。原创 2014-03-13 19:41:56 · 10834 阅读 · 13 评论 -
7.MIL构建一个视频播放器
前面讲解了MIL视频的保存、加载和播放,那么有不少人私信我说按照我的讲解构建的视频播放器有问题,这里综合他们的问题,我这里演示一个简单的播放器,它实现了简单的视频播放功能:打开视频、播放视频和暂停视频。如果你想实现更复杂的功能可以在此基础上扩展。在此过程中,我会指出常犯的错误。另外,需要补充说明的是,这里的MIL做的播放器,由于支持的视频编码的格式和完善程度有限,并不支持通用视频 的打开,例如...原创 2013-12-08 16:19:22 · 3580 阅读 · 2 评论 -
6.MIL采集和实时显示
前面讲到的都是离线的图像获取方法,实际中我们做机器视觉都是在线采集图像和处理,处理结果决定了计算机要给出的控制信号如电机运动等,这样就实现了实时视觉反馈运动。本文先详述了一个完整采集系统的构成(从相机到显示器),而后演示MIL三个函数MdigGrab,MdigContinous,MdigProcess代表的三种采集方式。原创 2013-12-02 22:21:28 · 14377 阅读 · 18 评论 -
5.MIL中视频加载、播放和保存
前面我们讲解了MIL图像的加载和保存,很多时候我们在做机器视觉时要求实现录像的功能,对此MIL提供了基本的支持。本文详解了MIL开发包中如何录制视频和播放视频等功能。原创 2013-11-24 20:09:20 · 5038 阅读 · 0 评论 -
4.MIL中图像的加载和保存
用MIL做图像处理首先得学会如何输入图像Buffer来做处理和处理完的图像Buffer如何保存。本文详述详述了MIL中加载图像的三种方式、MIL支持的图像文件格式和MIL保存图像方法。原创 2013-11-24 13:39:31 · 9693 阅读 · 4 评论 -
3.MIL图像新建和显示
一般来说我们讲到图像会关注它的分辨率,深度,格式,类型几个方面的参数,那么在MIL中新建一个图像要考虑哪些方面呢,换句话说,调用MIL函数新建图像时,要传入哪些参数呢?数字化图像对应到计算机内存来说就是离散化的数字矩阵,在MIL中保存来说是C语言数组,数组的每一个值表明当前像素点的灰度值。MIL中并没有对应的图像新建函数,在MIL中将图像归类为一种Buffer(可以理解为就是一种C语言数组),我们主要通过调用Buffer新建函数的同时指明Buffer属性来新建图像。原创 2013-11-23 21:05:31 · 10931 阅读 · 8 评论 -
2.MIL开发基础概念和步骤
相对于开源的Open CV来说商业化的MIL开发相对容易,只需要遵循特定的步骤即可以完成自己的开发。但是对于MIL中的一些基础概念还是要理解,不然可能在后面查看函数帮助时会混淆一些概念。原创 2013-10-18 21:36:00 · 9938 阅读 · 6 评论 -
1.MIL 编程环境设置
MIL全称为Matrox Imaging Library,由加拿大Matrox公司开发;MIL软件包是一个独立于硬件的、含有多个标准模块或组件的32位图像库,可以对图像进行采集、处理、分析、显示和存取操作,其功能覆盖图像领域的所有方面,使用起来也相当简单和方便;MIL-Lite是MIL的子集,含有MIL的部分模块,可以进行图像的采集、显示、存取操作,还可以在图像上进行图形操作及LUT变换等;MIL原创 2012-05-03 10:50:58 · 18251 阅读 · 33 评论