<?xml version="1.0" encoding="utf-8"?>
|
<!DOCTYPE IDCARD SYSTEM "IDCARD.dtd">
|
<!--用于身份证与港澳台居民居住证的分类,比较18位身份证号中的前6位-->
|
<!--810000香港-->
|
<!--820000澳门-->
|
<!--830000台湾-->
|
<IDCARD>
|
<CIDCardTemplate nMainDocumentID="18006" chDocumentName="IDNum" engDocumentName="IDNum" imageSizeType="2">
|
<vecProcessImage>
|
<CProcessImage processType="3">
|
<CEraseBlackBorderEx>
|
<!--processRect要检测黑边的区域-->
|
<RECT Left="0" Top="0" Right="10000" Bottom="10000" />
|
<!--unProcessRect在要检测的区域里,能够确定的不需要检测黑边的部分,
|
也就是说这个区域肯定没有黑边存在,用来提高检测效率-->
|
<RECT Left="2000" Top="2000" Right="8900" Bottom="8000" />
|
</CEraseBlackBorderEx>
|
</CProcessImage>
|
<!--<CProcessImage processType="6">
|
<CBlurAverage nType="1"/>
|
</CProcessImage>-->
|
</vecProcessImage>
|
<vecRegion>
|
|
<CRegion nIndex="0" nRegionType="0" nProcessOrder="0">
|
<!--处理该区域需要的图像信息的光的类型-->
|
<vecImageLightType>
|
<!--1:可见光图;2:红外光图;4:紫外光图 -->
|
<LIGHTTYPE>1</LIGHTTYPE>
|
<LIGHTTYPE>2</LIGHTTYPE>
|
</vecImageLightType>
|
<!--定义区域的定位信息,如果是头像区域还需要进一步精确定位,识别区域就不用了-->
|
<!--bAccurateLocate为1表示需要进一步精确定位,0代表不需要-->
|
<CLocateRegion bAccurateLocate="1">
|
<!--在定位前进行的预处理信息,一般是二值化-->
|
<vecProcessImage>
|
<CProcessImage processType="1">
|
<CTrueColorToGrayEx nFilter="0">
|
<RECT Top="0" Right="0" Bottom="0" Left="0" />
|
</CTrueColorToGrayEx>
|
</CProcessImage>
|
</vecProcessImage>
|
<!--rcMinRect:指定定位区域的最小范围,即定位后的区域范围必须包含这个区域-->
|
<RECT Left="7300" Top="1414" Right="9536" Bottom="7071" />
|
<vecAnchorLocateInfo>
|
<!--nDisToAnchor的值也是整图的百分比*10000计算出来的-->
|
<CAnchorLocateInfo nAnchorIndex="0" nDisToAnchor="6130" anchorType="1" />
|
<CAnchorLocateInfo nAnchorIndex="0" nDisToAnchor="9860" anchorType="2" />
|
<CAnchorLocateInfo nAnchorIndex="0" nDisToAnchor="1086" anchorType="3" />
|
<CAnchorLocateInfo nAnchorIndex="0" nDisToAnchor="7900" anchorType="4" />
|
</vecAnchorLocateInfo>
|
<!--该区域定义的区域类型基准点的信息-->
|
<vecCLocateAnchor>
|
<CLocateAnchor nDisToAnchor="0" nAnchorIndex="1" anchorType="1" />
|
<CLocateAnchor nDisToAnchor="0" nAnchorIndex="2" anchorType="4" />
|
</vecCLocateAnchor>
|
</CLocateRegion>
|
<!--区域内定位行的信息-->
|
</CRegion>
|
|
<!--身份号码-->
|
<CRegion nIndex="1" nRegionType="1" nProcessOrder="1">
|
<!--处理该区域需要的图像信息的光的类型-->
|
<vecImageLightType>
|
<!--1:可见光图;2:红外光图;4:紫外光图 -->
|
<LIGHTTYPE>2</LIGHTTYPE>
|
<LIGHTTYPE>1</LIGHTTYPE>
|
</vecImageLightType>
|
<!--定义区域的定位信息,如果是头像区域还需要进一步精确定位,识别区域就不用了-->
|
<!--bAccurateLocate为1表示需要进一步精确定位,0代表不需要-->
|
<CLocateRegion bAccurateLocate="0">
|
<vecProcessImage/>
|
<!--rcMinRect:指定定位区域的最小范围,即定位后的区域范围必须包含这个区域-->
|
<RECT Left="600" Top="8050" Right="9600" Bottom="9300" />
|
<vecAnchorLocateInfo>
|
<!--nDisToAnchor的值也是整图的百分比*10000计算出来的-->
|
<CAnchorLocateInfo nAnchorIndex="0" nDisToAnchor="544" anchorType="1" />
|
<CAnchorLocateInfo nAnchorIndex="0" nDisToAnchor="9990" anchorType="2" />
|
<CAnchorLocateInfo nAnchorIndex="2" nDisToAnchor="50" anchorType="3" />
|
<CAnchorLocateInfo nAnchorIndex="0" nDisToAnchor="7552" anchorType="3" />
|
<CAnchorLocateInfo nAnchorIndex="0" nDisToAnchor="9950" anchorType="4" />
|
</vecAnchorLocateInfo>
|
<!--该区域定义的区域类型基准点的信息-->
|
<vecCLocateAnchor/>
|
</CLocateRegion>
|
<CLocateLine>
|
<!--rcHorizontal:进行行的左右边界定位时的区域范围,坐标单位为所在区域的百分比*100-->
|
<RECT Left="0" Top="0" Right="100" Bottom="100" />
|
<!--rcVertical:进行行的上下边界定位时的区域范围,坐标单位为所在区域的百分比*100-->
|
<RECT Left="30" Top="0" Right="80" Bottom="100" />
|
<!--nLocateMethod:0灰度变化的方式进行行定位;1投影方式进行行定位-->
|
<!--bHeight:是否等高-->
|
<!--bSpace:是否等间距-->
|
<!--bWidth:是否等宽-->
|
<!--nMinElementNum:该行最少元素数-->
|
<!--nMaxElementNum:该行最多元素数-->
|
<!--nMinWidth:元素的最小宽度-->
|
<!--nMaxWidth:元素的最大宽度-->
|
<!--nMinHeight:元素的最小高度-->
|
<!--nMaxHeight:元素的最大高度-->
|
<!--nMinSpace:元素间的最小间距-->
|
<!--nMaxSpace:元素间的最大间距-->
|
<CLocateInfo bEraseStart="0" nMinWHRatio="0" nMaxWHRatio="160" nSplitWHRatio="2000" bSplit="0" nNumType="0" bSpace="0" bWidth="0" bHeight="0" bRemoveLineNoise="0" nMinElementNum="1" nMaxElementNum="1" nMinWidth="3000" nMaxWidth="9800" nMinHeight="300" nMaxHeight="857" nMinSpace="50" nMaxSpace="300" bPostProcess="0">
|
<vecCLocateMethod>
|
<CLocateMethod nLocateMethod="1">
|
<vecProcessImage>
|
<CProcessImage processType="1">
|
<CTrueColorToGrayEx nFilter="0">
|
<RECT Top="0" Right="0" Bottom="0" Left="0"/>
|
</CTrueColorToGrayEx>
|
</CProcessImage>
|
<CProcessImage processType="2">
|
<CGrayToBinaryEx>
|
<vecBinaryParam>
|
<BINARYPARAM nBlockNum="1" nMethod="7" />
|
<BINARYPARAM nBlockNum="1" nMethod="6" />
|
</vecBinaryParam>
|
<!--processRect-->
|
<RECT Left="0" Top="0" Right="0" Bottom="0" />
|
</CGrayToBinaryEx>
|
</CProcessImage>
|
</vecProcessImage>
|
</CLocateMethod>
|
<CLocateMethod nLocateMethod="1">
|
<vecProcessImage>
|
<CProcessImage processType="1">
|
<CTrueColorToGrayEx nFilter="0">
|
<RECT Top="0" Right="0" Bottom="0" Left="0"/>
|
</CTrueColorToGrayEx>
|
</CProcessImage>
|
<CProcessImage processType="2">
|
<CGrayToBinaryEx>
|
<vecBinaryParam>
|
<BINARYPARAM nBlockNum="1" nMethod="8" />
|
</vecBinaryParam>
|
<!--processRect-->
|
<RECT Left="0" Top="0" Right="0" Bottom="0" />
|
</CGrayToBinaryEx>
|
</CProcessImage>
|
</vecProcessImage>
|
</CLocateMethod>
|
<CLocateMethod nLocateMethod="0">
|
<!--在定位前进行的预处理信息,一般是二值化-->
|
<vecProcessImage>
|
<CProcessImage processType="1">
|
<CTrueColorToGrayEx nFilter="0">
|
<RECT Top="0" Right="0" Bottom="0" Left="0" />
|
</CTrueColorToGrayEx>
|
</CProcessImage>
|
</vecProcessImage>
|
</CLocateMethod>
|
</vecCLocateMethod>
|
</CLocateInfo>
|
<!--采用定位算法对行定位后,边界要浮动的大小,可以为负数
|
也是整图的百分比*10000计算出来的-->
|
<positionPlus nLeftPlus="-120" nRightPlus="800" nTopPlus="-120" nBottomPlus="150" />
|
</CLocateLine>
|
<vecLine>
|
<!--nIndex:该行在区域内是第几行,以第一行或者最后一行为基准从0开始的偏移-->
|
<!--bStartOffset:如果是以区域的第一行为基准,该值为true,否则为false-->
|
<!--bEndOffset:如果是以区域的最后一行为基准,该值为false,否则为false-->
|
<!--nLineType:0代表不需要识别,1代表需要识别-->
|
<CLine nIndex="0" bStartOffset="0" bEndOffset="1" bExist="1" bNeedRecog="1" nCheckKeyWord="0">
|
<!--rcLineResult:行的初始位置信息,初始值尽量写最小的区域范围,这样最准确
|
如果都为0代表该值不可靠,坐标单位为坐标均为占整张图像的百分比*10000
|
-->
|
<RECT Left="0" Top="0" Right="0" Bottom="0" />
|
<vecRecogInfo>
|
<CRecogInfo bIgnorePoint="0" nMaxPointWidth="0" nMaxPointHeight="0" bMatchRegExp="0" charOrder="\S{6}\D{17}[\DX]" bConfirmParams="0" nProcessOrder="0" nKernelType="0">
|
<!--定位字符的信息-->
|
<!--定位字符的信息-->
|
<!--nLocateMethod: 0,用识别核心做定位;
|
1,提取连通域的方法进行定位;
|
2,投影方法进行定位
|
-->
|
<!--bHeight:是否等高-->
|
<!--bSpace:是否等间距-->
|
<!--bWidth:是否等宽-->
|
<!--nMinElementNum:该行最少元素数-->
|
<!--nMaxElementNum:该行最多元素数-->
|
<!--nMinWidth:元素的最小宽度-->
|
<!--nMaxWidth:元素的最大宽度-->
|
<!--nMinHeight:元素的最小高度-->
|
<!--nMaxHeight:元素的最大高度-->
|
<!--nMinSpace:元素间的最小间距-->
|
<!--nMaxSpace:元素间的最大间距-->
|
<CLocateInfo bEraseStart="0" nMinWHRatio="0" nMaxWHRatio="140" nSplitWHRatio="2000" bSplit="0" nNumType="0" bSpace="0" bWidth="0" bHeight="0" bRemoveLineNoise="0" nMinElementNum="16" nMaxElementNum="-1" nMinWidth="60" nMaxWidth="500" nMinHeight="300" nMaxHeight="600" nMinSpace="40" nMaxSpace="820" bPostProcess="1">
|
<vecCLocateMethod>
|
<CLocateMethod nLocateMethod="1">
|
<vecProcessImage>
|
<CProcessImage processType="1">
|
<CTrueColorToGrayEx nFilter="0">
|
<RECT Top="0" Right="0" Bottom="0" Left="0"/>
|
</CTrueColorToGrayEx>
|
</CProcessImage>
|
<CProcessImage processType="2">
|
<CGrayToBinaryEx>
|
<vecBinaryParam>
|
<BINARYPARAM nBlockNum="1" nMethod="7" />
|
<BINARYPARAM nBlockNum="1" nMethod="6" />
|
</vecBinaryParam>
|
<!--processRect-->
|
<RECT Left="0" Top="0" Right="0" Bottom="0" />
|
</CGrayToBinaryEx>
|
</CProcessImage>
|
</vecProcessImage>
|
</CLocateMethod>
|
<CLocateMethod nLocateMethod="1">
|
<vecProcessImage>
|
<CProcessImage processType="1">
|
<CTrueColorToGrayEx nFilter="0">
|
<RECT Top="0" Right="0" Bottom="0" Left="0"/>
|
</CTrueColorToGrayEx>
|
</CProcessImage>
|
<CProcessImage processType="2">
|
<CGrayToBinaryEx>
|
<vecBinaryParam>
|
<BINARYPARAM nBlockNum="1" nMethod="7" />
|
<BINARYPARAM nBlockNum="1" nMethod="3" />
|
</vecBinaryParam>
|
<!--processRect-->
|
<RECT Left="0" Top="0" Right="0" Bottom="0" />
|
</CGrayToBinaryEx>
|
</CProcessImage>
|
</vecProcessImage>
|
</CLocateMethod>
|
</vecCLocateMethod>
|
</CLocateInfo>
|
<vecKernal>
|
<!--nRecogType:0识别区域,1识别字符-->
|
<!--nRecogImgeType:进行识别时需要的图像类型,0代表灰度,1代表二值-->
|
<CKernalInfo kernalMainType="1" nKernalSubType="18" nFilterType="0" nFillingMethod="0" strFilterPlus="" nRecogType="1" nRecogImgeType="0">
|
<vecCharRatio>
|
<CCharRatio strChars="" charType="1" nWHRatio="100" />
|
<CCharRatio strChars="" charType="2" nWHRatio="62" />
|
</vecCharRatio>
|
</CKernalInfo>
|
</vecKernal>
|
</CRecogInfo>
|
</vecRecogInfo>
|
<!--nRecogType:0识别区域,1识别字符-->
|
<!--nRecogImgeType:进行识别时需要的图像类型,0代表灰度,1代表二值-->
|
<!--cellRecogType:识别内容
|
NAMECH=0,//中文姓名
|
SEX=1,//性别
|
NATION=2,//民族
|
BIRTHDAY=3,//出生日期
|
ISSUINGDATE=4,//签发日期
|
VALIDPERIOD=5,//有效期至
|
ADDRESSS=6,//地址
|
IDNUMBER=7,//身份证号码
|
PPMRZ1=8,//护照类型证件的机读码第一行
|
PPMRZ2=9,//护照类型证件的机读码第二行
|
OTHER=10//其他类型
|
-->
|
<!--charOrder:字符的排列情况,用正则表达式表示-->
|
<!--kernalMainType识别核心主类型
|
THOCR=1,
|
SSFT152=2,
|
BARCODE=3
|
-->
|
<!--vecRecogUnit:行内识别单元的信息-->
|
<vecRecogUnit>
|
<!--nIndex:识别单元序号-->
|
<!--cellName:识别单元名称-->
|
<!--bLocate:该识别单元是否需要定位-->
|
<!--bReRecog:该识别单元是否需要重新识别-->
|
<!--OutputThreshold:输出界限一,待输出的识别结果的字频的值不能低于该值-->
|
<!--输出界限二,字频值< OutputThreshold的个数最大不能超过该值,否则将不输出-->
|
<CRecogUnit nIndex="0" bLocate="1" bRecog="1">
|
<CLocateRecogUnit bStart="0" nStartIndexInChar="-1" bEnd="1" nEndIndexInChar="0">
|
<vecAnchorLocateInfo>
|
<CAnchorLocateInfo nDisToAnchor="0" nAnchorIndex="4" anchorType="1" />
|
<CAnchorLocateInfo nDisToAnchor="1800" nAnchorIndex="0" anchorType="1" />
|
</vecAnchorLocateInfo>
|
</CLocateRecogUnit>
|
<vecRecogInfo>
|
<CRecogInfo bIgnorePoint="0" nMaxPointWidth="0" nMaxPointHeight="0" bMatchRegExp="1" charOrder="\D{17}[\DX]" bConfirmParams="0" nProcessOrder="0" nKernelType="0">
|
<CLocateInfo bEraseStart="0" nMinWHRatio="0" nMaxWHRatio="100" nSplitWHRatio="2000" bSplit="0" nNumType="0" bSpace="0" bWidth="0" bHeight="0" bRemoveLineNoise="0" nMinElementNum="18" nMaxElementNum="18" nMinWidth="60" nMaxWidth="380" nMinHeight="400" nMaxHeight="620" nMinSpace="0" nMaxSpace="230" bPostProcess="1">
|
<vecCLocateMethod>
|
<CLocateMethod nLocateMethod="1">
|
<vecProcessImage>
|
<CProcessImage processType="1">
|
<CTrueColorToGrayEx nFilter="-1">
|
<RECT Top="0" Right="0" Bottom="0" Left="0"/>
|
</CTrueColorToGrayEx>
|
</CProcessImage>
|
<CProcessImage processType="2">
|
<CGrayToBinaryEx>
|
<vecBinaryParam>
|
<BINARYPARAM nBlockNum="1" nMethod="7" />
|
<BINARYPARAM nBlockNum="1" nMethod="3" />
|
</vecBinaryParam>
|
<!--processRect-->
|
<RECT Left="0" Top="0" Right="0" Bottom="0" />
|
</CGrayToBinaryEx>
|
</CProcessImage>
|
</vecProcessImage>
|
</CLocateMethod>
|
<CLocateMethod nLocateMethod="1">
|
<vecProcessImage>
|
<CProcessImage processType="1">
|
<CTrueColorToGrayEx nFilter="-1">
|
<RECT Top="0" Right="0" Bottom="0" Left="0"/>
|
</CTrueColorToGrayEx>
|
</CProcessImage>
|
<CProcessImage processType="2">
|
<CGrayToBinaryEx>
|
<vecBinaryParam>
|
<BINARYPARAM nBlockNum="1" nMethod="7" />
|
<BINARYPARAM nBlockNum="1" nMethod="6" />
|
</vecBinaryParam>
|
<!--processRect-->
|
<RECT Left="0" Top="0" Right="0" Bottom="0" />
|
</CGrayToBinaryEx>
|
</CProcessImage>
|
</vecProcessImage>
|
</CLocateMethod>
|
<CLocateMethod nLocateMethod="1">
|
<vecProcessImage>
|
<CProcessImage processType="1">
|
<CTrueColorToGrayEx nFilter="0">
|
<RECT Top="0" Right="0" Bottom="0" Left="0"/>
|
</CTrueColorToGrayEx>
|
</CProcessImage>
|
<CProcessImage processType="2">
|
<CGrayToBinaryEx>
|
<vecBinaryParam>
|
<BINARYPARAM nBlockNum="1" nMethod="7" />
|
<BINARYPARAM nBlockNum="1" nMethod="5" />
|
</vecBinaryParam>
|
<!--processRect-->
|
<RECT Left="0" Top="0" Right="0" Bottom="0" />
|
</CGrayToBinaryEx>
|
</CProcessImage>
|
</vecProcessImage>
|
</CLocateMethod>
|
</vecCLocateMethod>
|
</CLocateInfo>
|
<vecKernal>
|
<!--nRecogType:0识别区域,1识别字符-->
|
<!--nRecogImgeType:进行识别时需要的图像类型,0代表灰度,1代表二值-->
|
<CKernalInfo kernalMainType="1" nKernalSubType="18" nFilterType="3" nFillingMethod="0" strFilterPlus="" nRecogType="1" nRecogImgeType="0">
|
<vecCharRatio>
|
<CCharRatio strChars="" charType="2" nWHRatio="78" />
|
<CCharRatio strChars="1" charType="10" nWHRatio="53" />
|
<CCharRatio strChars="X" charType="10" nWHRatio="78" />
|
</vecCharRatio>
|
</CKernalInfo>
|
<!--CKernalInfo kernalMainType="1" nKernalSubType="7" nFilterType="256" nFillingMethod="0" strFilterPlus="" nRecogType="1" nRecogImgeType="0">
|
<vecCharRatio>
|
<CCharRatio strChars="3" charType="10" nWHRatio="78" />
|
<CCharRatio strChars="" charType="2" nWHRatio="78" />
|
</vecCharRatio>
|
</CKernalInfo-->
|
</vecKernal>
|
</CRecogInfo>
|
</vecRecogInfo>
|
</CRecogUnit>
|
</vecRecogUnit>
|
<!--vecLineKeyWord:记录该行内用来定位的关键字信息-->
|
<vecLineKeyWord>
|
<CKeyWord nMinWidth="-1" nMaxHeight="-1" content="码" nMinHeight="-1" nConfirmType="1" nMaxWidth="-1">
|
<vecCLocateAnchor>
|
<CLocateAnchor nDisToAnchor="20" nAnchorIndex="4" anchorType="2" />
|
</vecCLocateAnchor>
|
</CKeyWord>
|
<CKeyWord nMinWidth="-1" nMaxHeight="-1" content="号" nMinHeight="-1" nConfirmType="1" nMaxWidth="-1">
|
<vecCLocateAnchor>
|
<CLocateAnchor nDisToAnchor="396" nAnchorIndex="4" anchorType="2" />
|
</vecCLocateAnchor>
|
</CKeyWord>
|
<CKeyWord nMinWidth="-1" nMaxHeight="-1" content="份" nMinHeight="-1" nConfirmType="1" nMaxWidth="-1">
|
<vecCLocateAnchor>
|
<CLocateAnchor nDisToAnchor="1128" nAnchorIndex="4" anchorType="2" />
|
</vecCLocateAnchor>
|
</CKeyWord>
|
<CKeyWord nMinWidth="-1" nMaxHeight="-1" content="身" nMinHeight="-1" nConfirmType="1" nMaxWidth="-1">
|
<vecCLocateAnchor>
|
<CLocateAnchor nDisToAnchor="1526" nAnchorIndex="4" anchorType="2" />
|
</vecCLocateAnchor>
|
</CKeyWord>
|
<CKeyWord nMinWidth="-1" nMaxHeight="-1" content="民" nMinHeight="-1" nConfirmType="1" nMaxWidth="-1">
|
<vecCLocateAnchor>
|
<CLocateAnchor nDisToAnchor="1920" nAnchorIndex="4" anchorType="2" />
|
</vecCLocateAnchor>
|
</CKeyWord>
|
<CKeyWord nMinWidth="-1" nMaxHeight="-1" content="公" nMinHeight="-1" nConfirmType="1" nMaxWidth="-1">
|
<vecCLocateAnchor>
|
<CLocateAnchor nDisToAnchor="2316" nAnchorIndex="4" anchorType="2" />
|
</vecCLocateAnchor>
|
</CKeyWord>
|
</vecLineKeyWord>
|
<vecCLocateAnchor>
|
<CLocateAnchor nDisToAnchor="0" nAnchorIndex="3" anchorType="3" />
|
</vecCLocateAnchor>
|
</CLine>
|
</vecLine>
|
</CRegion>
|
|
</vecRegion>
|
<vecAnchor>
|
<!--0基准点-->
|
<CAnchor nIndex="0" anchorType="0" anchorPos="0" bEnable="0" nMinPos="-1" nMaxPos="-1" />
|
<!--头像区域定义左基准-->
|
<CAnchor nIndex="1" anchorPos="-1" anchorType="1" bEnable="0" nMinPos="-1" nMaxPos="-1" />
|
<!--头像区域定义下基准-->
|
<CAnchor nIndex="2" anchorPos="-1" anchorType="4" bEnable="0" nMinPos="-1" nMaxPos="-1" />
|
<!--公民身份号码行定义上基准-->
|
<CAnchor nIndex="3" anchorPos="-1" anchorType="3" bEnable="0" nMinPos="-1" nMaxPos="-1" />
|
<!--公民身份号码关键字定义右基准-->
|
<CAnchor nIndex="4" anchorPos="-1" anchorType="2" bEnable="0" nMinPos="-1" nMaxPos="-1" />
|
</vecAnchor>
|
<vecOutPutResult>
|
<COutPutResult nIndex="0" cellRecogType="7" cellName="公民身份号码" cellNameEng="ID Number" nOutputThreshold="0" nOutputNumber="0" bFormatResult="0"/>
|
</vecOutPutResult>
|
</CIDCardTemplate>
|
</IDCARD>
|