下面以Honeywell扫描枪为例来解释一下里面包含的数字图像相关处理,图像传感器为灰阶图像,8bit位深,分辨率1280*800。
将扫描枪使用USB虚拟串口通讯方式 (通过USB cable) 连接到电脑。
然后通过串口工具,发送命令给扫描枪,并从扫描枪获取执行结果。
还可以发送图像相关的命令,让扫描枪抓取、处理图片,然后通过串口发送给电脑。
比如,第一步,通过串口将IMGSNP命令(image snap)发送给扫描枪,并在命令后加上相应的选项,扫描枪就会抓取一幅图像。
第二部,通过串口发送IMGSHP命令(image ship)给扫描枪, 并在命令后加上相应的选项,扫描枪就会通过串口把图像数据传输到电脑上。
扫描枪在捕捉、处理和传输图像(captures, manipulates and transfers)的方式上就像一个数码相机。
在电脑端使用专有的配套工具,可以接受这些图像数据或处理结果。
具体可以查阅Honeywell Xenon XP 1950g scanner产品的相关信息,包括实物产品、连接线缆、PC端应用工具(请下载EZConfig)和产品使用手册。
下面讲述的是此扫描枪的IMGSNP(截图)和IMGSHP(传图)命令的使用方式。这两个命令需要使用PC端的应用软件通过串口来发送。
一般普通的命令通过扫描枪扫描命令条码即可,IMGSNP可以通过扫码方式执行,但IMGSHP需要返回图像数据,只能使用PC端的应用软件来做。
下面对这两个命令使用的解释可以增加对图像处理的一些理解。
Step 1 使用IMGSNP命令抓取一张图片
Image Snap - IMGSNP
只要按下扫描枪上的按键,或收到图像快照(IMGSNP)命令,就会拍摄图像。图像快照命令有许多不同的参数配置,来改变图像的格式。可设置的参数可以附加到IMGSNP命令中。
举例来说,你可以使用下面的命令来抓拍图像,增加增益,并在抓拍完成后发出beep音:
IMGSNP2G1B
IMGSNP可修饰参数
P - Imaging Style
设置图像捕捉样式。
- 0P 解码风格。这种处理方式允许拍摄几张照片,直到曝光参数得到满足。然后,最后一帧可供进一步使用。
- 1P 照片风格(默认)。这模仿了一个简单的数码相机,结果是一个优化过的图像。
- 2P 手动风格。这是一种高级模式,只应由有经验的用户使用。有经验的用户使用。它允许你自由地设置扫描枪,不使用自动曝光。
B - Beeper
在图像抓取后发出Beep声音。
- 0B 没有声音(默认)
- 1B 图像抓取完发一声beep音
T - Wait for Trigger
在待硬件触发器按下时拍摄图像。这仅在使用照片风格(1P)时可用。
- 0T 立即拍照(默认)
- 1T 在Trigger按下后,抓拍图像
L - LED State
决定LED是否开启或关闭,以及何时开启。环境照明(Ambient illumination)(0L)是拍摄彩色文件的首选,如ID卡,特别是当扫描枪在支架上时。当扫描枪处于手持状态时,首选LED照明(1L)。使用解码方式(0P)时,LED状态不可用。
- 0L LED关闭(默认)
- 1L LED开启
E - Exposure
曝光仅用于手动风格(2P),并允许设置曝光时间。这类似于在相机上设置快门速度。曝光时间决定了扫描枪需要多长时间来记录一个图像。在明亮的日子里,曝光时间可能非常短,因为有大量的光线可以帮助记录图像。在夜间,由于几乎没有光线,曝光时间会大大增加。单位是127微秒。(默认=7874微秒)
- nE 范围: 1 - 7874
在萤光灯下,7874E的曝光时间效果:
100E的曝光效果:
G - Gain
增益仅在手动风格中使用(2P)。就像音量控制一样,增益修改器可以提高信号并使像素值成倍增长。当你增加增益时,图像中的噪音也会被放大。
- 1G No gain (default)
- 2G Medium gain
- 4G Heavy gain
- 8G Maximum gain
Gain at 1G:
Gain at 4G:
Gain at 8G:
W - Target White Value
设置捕获图像中的灰度中值的目标。对于捕捉高对比度文件的特写图像,建议使用较低的设置,如75。更高的设置会导致更长的曝光时间和更明亮的图像,但如果设置太高,图像可能会曝光过度。目标白值仅在使用照片风格(1P)时可用。(默认值=125)
- nW 范围:0 - 255
设置75W:
设置125W:
设置200W:
D - Delta for Acceptance
这设置了白值设置的允许范围(见W - Target White Value)。Delta仅在使用照片风格(1P)时可用。(默认值=25)
- nD 范围:0 - 255
这个表示针对Target White Value灰度中值这个设置,允许多大的差异范围。比如灰度中值设置125,Delta时25,那么当抓取图片的灰度中值达到100,就认为是有效图片。
U - Update Tries
这个设置了扫描仪为达到D-Delta接受度所需的最大帧数,即更新尝试次数。只在使用照片风格(1P)时可用。(默认=6)
- nU 范围: 1- 10
% - Target Set Point Percentage
设置所拍摄图像中明暗值的目标点。75%的设置意味着75%的像素处于或低于目标白值,25%的像素处于目标白值以上。在正常情况下,不建议改变这个默认设置。要改变灰度值,应使用W-目标白值。(默认=50)
- n% 范围: 1 - 99
Target Set Point Percentage at 97%:
Target Set Point Percentage at 50%:
Target Set Point Percentage at 40%:
Step 2 - Ship a Picture Using IMGSHP
Image Ship - IMGSHP
只要按下按键触发器或收到图像快照(IMGSNP)命令后处理,就会拍摄一张图像。最后的图像总是存储在内存中。你可以通过使用IMGSHP命令来 "运送 "图像。图像运输命令有许多不同的可调参数,可以用来改变图像输出的外观。这些参数会影响传输的图像,但不影响内存中的图像。任何数量的可配参数都可以附加到IMGSHP命令中。例如。您可以使用以下命令抓取和传送带有伽玛校正和文档图像过滤的位图图像: IMGSNP;IMGSHP8F75K26U
IMGSHP Modifiers / IMGSHP命令参数
A - Infinity Filter (远距离图片过滤)
增强从非常远的距离(大于10英尺或3米)拍摄的照片。
- 0A Infinity filter off (default)
- 1A Infinity filter on
关闭远距离过滤,在大约3.66m(12英尺feet)的举例拍摄的图片:
打开远距离过滤,在大约3.66m(12英尺feet)的举例拍摄的图片:
C - Compensation 补偿
平整图像以考虑整个图像的照明变化。Flattens the image to account for variations in illumination across the image.
- 0C Compensation disabled (default)
- 1C Compensation enabled
关闭补偿:
打开补偿:
D - Pixel Depth 像素位深
表示传输的图像中每个像素的比特数(仅KIM或BMP格式 。
- 8D 8 bits per pixel, grayscale image (default) 每个像素8bit,灰度图像(默认)
- 1D 1 bit per pixel, black and white image 每个像素2bit
E - Edge Sharpen 边缘锐化
边缘锐化滤镜可以清理图像的边缘,使其看起来更干净、更清晰。虽然边缘锐化确实使图像看起来更干净,但它也会从原始图像中去除一些精细的细节。边缘锐化过滤器的强度值为1到24。输入23E可以得到最清晰的边缘,但也会增加图像的噪音。
- 0E Don’t sharpen image (default)
- 14E Apply edge sharpen for typical image
- nE Apply edge sharpen using strength n (n = 1-24)
Edge Sharpen at 0E 边缘锐化为0时:
Edge Sharpen at 24E 边缘锐化为24时:
F - File Format 文件类型
指定所需的图像文件格式。
- 0F KIM format
- 1F TIFF binary
- 2F TIFF binary group 4, compressed
- 3F TIFF grayscale
- 4F Uncompressed binary (upper left to lower right, 1 pixel/bit, 0 padded end of line)
- 5F Uncompressed grayscale (upper left to lower right, bitmap format)
- 6F JPEG image (default)
- 8F BMP format (lower right to upper left, uncompressed)
- 10F TIFF color compressed image
- 11F TIFF color uncompressed image
- 12F JPEG color image
- 14F BMP color format
- 15F BMP Uncompressed raw image
H - Histogram Stretch 对比度加强
增加传输图像的对比度。不适用于某些图像格式。
- 0H No stretch (default)
- 1H Histogram stretch
关闭时:
打开时:
I - Invert Image 图像翻转
围绕X或Y轴旋转图像的。
- 1ix Invert around the X axis (flips picture upside down) 上下翻转
- 1iy Invert around the Y axis (flips picture left to right) 左右翻转
不翻转:
使用1ix:
使用1iy:
IF- Noise Reduction 降噪
用于减少图像中的椒盐噪点。
盐=白色(0),椒=黑色(255)。所以前者是高灰度噪点,后者属于低灰度噪点。一般两种噪点同时出现,呈现在图像上就是黑白杂点。盐和胡椒噪声的成因可能是影像讯号受到突如其来的强烈干扰而产生、类比数位转换器或位元传输错误等。
- 0if No salt and pepper noise reduction (default)
- 1if Salt and pepper noise reduction
不使用时:
使用时:
IR - Image Rotate 图像旋转
- 0ir Image as snapped (rightside up) (default) 默认
- 1ir Rotate image 90 degrees to the right 顺时针旋转90度
- 2ir Rotate image 180 degrees (upside down) 顺时针旋转180度
- 3ir Rotate image 90 degrees to the left 逆时针旋转90度
J - JPEG Image Quality / JPEG图像格式的图片质量
当选择JPEG图像格式时,设置所需的质量。数字越大,质量越高,但文件越大。较小的数字会导致更多的有损压缩,传输时间更快,质量更低,但文件更小。(默认值 = 50)
- nJ 在保留质量因数n的情况下尽可能压缩图片 (n = 0 - 100)
- 0J worst quality (smallest file) 最差图片质量,文件最小
- 100J best quality (largest file) 最高质量图片,文件最大
K - Gamma Correction
伽玛测量图像产生的中间色调值的亮度。你可以用伽玛校正来使图像变亮或变暗。。文本图像的最佳设置是50K。
- 0K Gamma correction off (default) 默认关闭
- 50K Apply gamma correction for brightening typical document image 应用伽玛校正来提高典型文件图像的亮度
- nK Apply gamma correction factor n (n = 0-1,000) 设置伽马校正系数n
伽玛校正不使用,值为0时:
设置50时:
设置255时:
L, R, T, B, M - Image Cropping 图像裁剪
通过指定左、右、上、下的像素坐标,传输一个窗口中的图像。设备列的坐标是0到1279,设备行的坐标是0到959。
- nL 传输的图像的左边缘对应于图像的第n列。范围:000 - 843. (默认=0)
- nR 传输的图像的右边缘对应于内存中图像的第 n - 1 列。范围:000 - 843. (默认 = 所有列)
- nT 传输图像的顶部边缘对应于内存中图像的第n行。范围:000 - 639. (默认值=0)
- nB 传输的图像的底边与内存中图像的第n-1行相对应。范围:000 - 639. (默认=所有行)
举例:
Uncropped Image 未裁剪图像:
Image Crop set to 300R:
Image Crop set to 300L:
Image Crop set to 200B:
Image Crop set to 200T:
或者,指定从图像的外侧边缘剪切的像素数;因此,只传输中心像素。
nM 边距:从图像的左边剪切n列,从右边剪切n+1列,从顶部剪切n行,从底部剪切n+1行。传输剩余的中心像素。范围:0 - 238.
(默认=0,或全图像)
Image Crop set to 238M:
P - Protocol 传输协议选项
此选项用于传输图像。此选项控制被发送到主机的图像数据的两个特征。它涉及用于发送数据的协议(Hmodem,这是一个Xmodem 1K的变体,有额外的头信息),以及所发送的图像数据的格式。
- 0P None (raw data)
- 2P None (default for USB)
- 3P Hmodem compressed (default for RS232)
- 4P Hmodem
S - Pixel Ship
此选项按照图像的的原始尺寸的比例调整图像大小。通过只传输有规律间隔的特定像素来减少图像的尺寸。
例如:4S将在间隔三行的一行中,每隔3个像素传输一个像素。
传输的像素数越少,图像就越小,然而,到了一定程度后,图像就无法使用。
- 1S 每个像素都传输(默认)
- 2S 纵向、横向都只传输第二个像素
- 3S 纵向、横向都只传输第三个像素
举例:
Pixel Ship set to 1S:
2S:
3S:
4S:
U - Document Image Filter 文档图像滤镜
允许你输入参数来锐化图像中文字的边缘并平滑其边缘之间的区域。该过滤器应与伽玛校正一起使用,扫描枪应放在支架上,并使用该选项采集图像:
IMGSNP1P0L168W90%32D
这个过滤器通常比标准的E-边缘锐化选项提供更好的JPEG压缩。这个滤波器在处理纯黑白图像(每像素1比特)时也很有效。最佳设置是26U。
- 0U 文档图像滤镜关闭(默认)
- 26U 对典型的文档图像应用文件图像过滤器的值
- nU 使用灰度阈值n应用文档图像过滤器。当图像对比度较低时,使用较低的数字。1U的效果与将E-边缘锐化设置为22e类似。范围:0-255.
V - Blur Image 图像模糊
通过对图像中定义的线条和阴影区域的明确边缘周围的像素进行平均化,使过渡变得平滑。
- 0 不开启(默认)
- 1 开启
Blur Image Off (0V):
Blur Image On (1V):
W - Histogram Ship 显示图像直方图
直方图可以快速显示出图像的色调(tonal range)范围,或色调类型(key type)。低调(low-key)图像的细节集中在阴影部分;高调(high-key)图像的细节集中在高光部分;而平均调(average-key)图像的细节集中在中间色调(midtone)部分。这个选项表示是否传输直方图。
- 0W 不传输直方图(默认)
- 1W 传输直方图(而不是图像)
例1:用来计算直方图的图像如下:
显示的直方图:
例2:
用来计算直方图的图像:
此图的直方图: