增补: (大量样卡到手之后) 1. 扫描OMR卡,一律同步头“冲”下。 2. [0x7f94] 增设定omr卡的种类,一般在自动识别失败下而用。 default: 0xffff, 自动识别。 scale shift 0 T 台湾制式 16.62 0 1 G 国标公制 19.63 0 2 Y 英制 19.96 -5 3 M 五岳鑫制 21.60 -10 如果自动识别错,可以强行指定。在[0x7f94]置数。 A。台湾制式 到手的信息,台湾人用英制和本制式。 特点,列距最小,同步头位置高于其他制式。所以容易识别。 B。公制 列间距次之, 容易和英制混淆。 C。英制 用得较普遍。有些和文字混杂的大卡,使用英制。 所以在下面介绍中,若“交叉相关”不明显,则采用英制。 D。五岳鑫制 说是自由发挥定的,(例2007年云南大卡,五岳鑫监制) scale和公英制的比例相差大,也不易混淆。 3。scale,shift 制式就两个参数可定: scale: 列间距,pixel值。显示小数是为了叠加精度。 shift:同步头和第一列填涂之间的修正。 同步头“黑块”较宽,一般和第一列中心,是两个“间隔” 但有的制式,不足两个。列出的值以pixel为单位。 4. 样卡 不能是未填涂的卡。不要求填满,实际使用的卡就可以。 有条码的卡,要求贴得规矩,水平或垂直度好。 填涂不要都集中在同步头一側。各列都有填涂最好。 和文字混杂的卡,文字越少越好,填涂越多越好。 有的空白卡也行,要求“错色”光电扫描,例:绿底卡用红光扫。 5,交叉相关 自动求解制式,用的是,交叉相关算法。(自创) 相关度大,就选中。数值在[0x9f95]中显示。(*100) 正规出厂测试样卡的相关度在2000以上。 相关度小,指的是: B,C,D卡的测值都在 100 上下。 一般自动识别出制式的卡,高出次之制式,相关度大一倍。 6. 陌生卡(新增制式) 程序中预留位置,可以扩充。 当今网络发达,换新版程序即可。 要求,用本扫描仪,扫几幅图像邮来。(不带红线) 7. 本算法特点 对各批次的OMR机的CCD线阵器件的安装精度无要求。(上下距离) 曾发现,两批次的omr机,扫同一图,X_方向相差5pixel。 算法能自动纠正。 --------------- 新版omr3000增加功能---自动给出位置条码信息 蒋兆基 2014,3,18 因为OMR卡的大小不一,属性不一(公制,英制,台湾制式) 已移交的c5502版本,要求上层给出被扫描卡的如下信息: 1. 同步头个数 2. 填涂列数 3. 同步头和填涂的“列”位置参数 4. 条码种类(有无,横竖)及位置参数 分别在文件posi.asc和stop.asc中描述,向C5502下载。 与会者提出,给用户带来不便。 其实可以在上传的“二维”图像中求解, 上层做,程序比较简单。 在c5502中处理,由于内存小,无法保存二维图像,增加了难度。 现,C5502已实现了,上述参数的自动确定。 (版本号:4318以后) 现在版本的做法: 1. 挑选一张(同批卡)比较“好”的卡,先用p命令走一下。 “样卡”清晰平整,尤其条码贴得“正规”,水平垂直度好。 2. c5502 将所用到的必须的参数就位,就可以开始工作。 并:将停机参数自动设定如下: a。同步头个数, 个数不等则停机。 b。999扫描行后,不见同步头则停机。 c。条码错,则停机。 3,p命令的实质:(对上层来说,是透明的) 将[0x7f93]置0,c5502得知是求解参数请求,得出结果后上传, 并将参数就位。(即:[0x7fa0]以后的单元自动置数) 最后[0x7f93]复位。 4,和老版兼容。 若自动设置的参数不满意,上层可手动添加修改。其余一切照旧。 5,新版的实质: 省了两个参数文件的编制及下行。 每次开机后,不必下行参数文件。 先走一个p命令,再重新开始正常扫描OMR卡。 =========