|
文章介绍 |
映美精相机均可通过软件IC Capture把相机采集到的静态图像以BMP或JPG的格式存储在电脑中。使用MATLAB进行后续处理时,最常用到的功能是显示图像,文章主要介绍使用MATLAB显示映美精工业相机保存的图像的一些操作技法及注意事项。文章使用的MATLAB版本为7.8.0.347(R2009a),相机为IMAGINGSOURCE的DFK 31AG03.I,对应IC Capture版本为2.1.109.576,使用镜头为PENTAX出品的C7528-M(KP),焦距为75mm。
在MATLAB中图像一般使用函数imshow来显示,该函数的基本语法为:imshow(f, G),其中,f是一个图像数组,G是显示该图像的灰度级数。若将G省略,则默认的灰度级数是256。语法imshow(f, [low high])会将所有小于或等于low的值都显示为黑色,所有大于或等于high的值都显示为白色。界于low和high之间的值将以默认的级数显示为中等亮度值。最后,语法imshow(f, [])可以将变量low设置为数组f的最小值,将变量high设置为数组f的最大值。函数imshow的这一形式在显示一幅动态范围较小的图像或既有正值又有负值的图像时非常有用。
下列语句会从MATLAB的工作目录中读入一幅名为Ai Det.bmp的图像,提取该图像的基本信息,并使用imshow将其显示出来:
>> f=imread(‘Ai Det.bmp’);
>> whos f
Name Size Bytes Class Attributes
f 768x1024x3 2359296 uint8
>> imshow(f)
由于imshow命令行结尾处的分号对结果无影响,所以一般将其省略。窗口上有各种下拉菜单和工具按钮,用于缩放、保存及输出显示窗口的内容等。特别地,在将结果打印或存盘之前,Edit菜单有对结果进行编辑或格式化的功能。
当用imshow显示另一幅图像g时,MATLAB会在屏幕上用新图像替换旧图像。为保持第一幅图像并同时显示第二幅图像,可以使用如下的figure函数:
>> figure, imshow(g)
使用语句
>> imshow(f), figure, imshow(g)
可以同时显示两幅图像。
我们使用手动模式的映美精相机在普通室内环境下采集一幅图像h,用MATLAB读入并使用imshow(h)产生如下图左所示的图像。很明显,这幅图像的动态范围很小,但我们可以使用下列语句修正其显示结果:
>> imshow(h, [])
| |
|
|
|
|
|