id-scanner-lib 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +77 -0
- package/dist/id-scanner-core.esm.js +160 -0
- package/dist/id-scanner-core.esm.js.map +1 -1
- package/dist/id-scanner-core.js +160 -0
- package/dist/id-scanner-core.js.map +1 -1
- package/dist/id-scanner-core.min.js +2 -2
- package/dist/id-scanner-core.min.js.map +1 -1
- package/dist/id-scanner-ocr.esm.js +789 -78
- package/dist/id-scanner-ocr.esm.js.map +1 -1
- package/dist/id-scanner-ocr.js +788 -77
- package/dist/id-scanner-ocr.js.map +1 -1
- package/dist/id-scanner-ocr.min.js +2 -2
- package/dist/id-scanner-ocr.min.js.map +1 -1
- package/dist/id-scanner-qr.esm.js +160 -0
- package/dist/id-scanner-qr.esm.js.map +1 -1
- package/dist/id-scanner-qr.js +160 -0
- package/dist/id-scanner-qr.js.map +1 -1
- package/dist/id-scanner-qr.min.js +2 -2
- package/dist/id-scanner-qr.min.js.map +1 -1
- package/dist/id-scanner.js +788 -77
- package/dist/id-scanner.js.map +1 -1
- package/dist/id-scanner.min.js +2 -2
- package/dist/id-scanner.min.js.map +1 -1
- package/package.json +1 -1
- package/src/id-recognition/id-detector.ts +210 -65
- package/src/id-recognition/ocr-processor.ts +142 -21
- package/src/id-recognition/ocr-worker.ts +146 -0
- package/src/utils/image-processing.ts +204 -0
- package/src/utils/performance.ts +208 -0
- package/src/utils/resource-manager.ts +198 -0
- package/src/utils/worker.ts +173 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id-scanner-ocr.js","sources":["../src/utils/camera.ts","../src/utils/image-processing.ts","../src/id-recognition/id-detector.ts","../src/id-recognition/ocr-processor.ts","../src/id-recognition/data-extractor.ts","../src/ocr-module.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["createWorker"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"id-scanner-ocr.js","sources":["../src/utils/camera.ts","../src/utils/image-processing.ts","../src/utils/performance.ts","../src/id-recognition/id-detector.ts","../src/utils/worker.ts","../src/id-recognition/ocr-worker.ts","../src/id-recognition/ocr-processor.ts","../src/id-recognition/data-extractor.ts","../src/ocr-module.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["createCustomWorker","createWorker"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("tesseract.js")):"function"==typeof define&&define.amd?define(["exports","tesseract.js"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).IDScannerOCR={},t.Tesseract)}(this,(function(t,e){"use strict";class i{constructor(t={}){this.options=t,this.stream=null,this.videoElement=null,this.options={width:640,height:480,facingMode:"environment",...t}}async start(t){return this.initialize(t)}stop(){this.release()}async initialize(t){this.videoElement=t;try{const t={video:{width:{ideal:this.options.width},height:{ideal:this.options.height},facingMode:this.options.facingMode}};this.stream=await navigator.mediaDevices.getUserMedia(t),this.videoElement&&(this.videoElement.srcObject=this.stream,await new Promise((t=>{this.videoElement&&(this.videoElement.onloadedmetadata=()=>{this.videoElement&&this.videoElement.play().then((()=>t()))})})))}catch(t){throw console.error("无法访问摄像头:",t),new Error("无法访问摄像头。请确保已授予摄像头访问权限,并且摄像头未被其他应用程序占用。")}}captureFrame(){if(!this.videoElement)return null;const t=document.createElement("canvas");t.width=this.videoElement.videoWidth,t.height=this.videoElement.videoHeight;const e=t.getContext("2d");return e?(e.drawImage(this.videoElement,0,0,t.width,t.height),e.getImageData(0,0,t.width,t.height)):null}release(){this.stream&&(this.stream.getTracks().forEach((t=>t.stop())),this.stream=null),this.videoElement&&(this.videoElement.srcObject=null,this.videoElement=null)}}class r{static imageDataToCanvas(t){const e=document.createElement("canvas");e.width=t.width,e.height=t.height;const i=e.getContext("2d");return i&&i.putImageData(t,0,0),e}static canvasToImageData(t){const e=t.getContext("2d");return e?e.getImageData(0,0,t.width,t.height):null}static adjustBrightnessContrast(t,e=0,i=0){const r=this.imageDataToCanvas(t),a=r.getContext("2d");if(a){const t=a.getImageData(0,0,r.width,r.height),s=t.data,n=259*(i+255)/(255*(259-i));for(let t=0;t<s.length;t+=4)s[t]=this.truncate(n*(s[t]-128)+128+e),s[t+1]=this.truncate(n*(s[t+1]-128)+128+e),s[t+2]=this.truncate(n*(s[t+2]-128)+128+e);return a.putImageData(t,0,0),t}return t}static truncate(t){return Math.min(255,Math.max(0,t))}static toGrayscale(t){const e=this.imageDataToCanvas(t),i=e.getContext("2d");if(i){const t=i.getImageData(0,0,e.width,e.height),r=t.data;for(let t=0;t<r.length;t+=4){const e=(r[t]+r[t+1]+r[t+2])/3;r[t]=e,r[t+1]=e,r[t+2]=e}return i.putImageData(t,0,0),t}return t}static resize(t,e,i){const r=document.createElement("canvas");r.width=e,r.height=i;const a=r.getContext("2d");if(a){const r=this.imageDataToCanvas(t);return a.drawImage(r,0,0,t.width,t.height,0,0,e,i),a.getImageData(0,0,e,i)}return t}}class a{constructor(t){this.detecting=!1,this.detectTimer=null,this.camera=new i,"function"==typeof t?this.onDetected=t:t&&(this.onDetected=t.onDetection)}async start(t){await this.camera.initialize(t),this.detecting=!0,this.detect()}async detect(){if(!this.detecting)return;const t=this.camera.captureFrame();if(t)try{const e=await this.detectIDCard(t);this.onDetected&&this.onDetected(e)}catch(t){console.error("身份证检测错误:",t)}this.detectTimer=window.setTimeout((()=>this.detect()),200)}async detectIDCard(t){const e=r.toGrayscale(t);r.adjustBrightnessContrast(e,10,30);if(Math.random()>.7){const e=Math.floor(.8*t.width),i=Math.floor(.63*e),a=Math.floor((t.width-e)/2),s=Math.floor((t.height-i)/2),n=[{x:a,y:s},{x:a+e,y:s},{x:a+e,y:s+i},{x:a,y:s+i}],o=document.createElement("canvas");o.width=e,o.height=i;const h=o.getContext("2d");if(h){const o=r.imageDataToCanvas(t);h.drawImage(o,a,s,e,i,0,0,e,i);return{success:!0,corners:n,croppedImage:h.getImageData(0,0,e,i)}}}return{success:!1}}stop(){this.detecting=!1,this.detectTimer&&(clearTimeout(this.detectTimer),this.detectTimer=null),this.camera.release()}}class s{constructor(){this.worker=null}async initialize(){this.worker=e.createWorker({logger:t=>console.log(t)}),await this.worker.load(),await this.worker.loadLanguage("chi_sim"),await this.worker.initialize("chi_sim"),await this.worker.setParameters({tessedit_char_whitelist:"0123456789X-年月日一二三四五六七八九十零壹贰叁肆伍陆柒捌玖拾ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz民族汉族满族回族维吾尔族藏族苗族彝族壮族朝鲜族侗族瑶族白族土家族哈尼族哈萨克族傣族黎族傈僳族佤族高山族拉祜族水族东乡族钠西族景颇族柯尔克孜族士族达斡尔族仫佬族羌族布朗族撒拉族毛南族仡佬族锡伯族阿昌族普米族塔吉克族怒族乌孜别克族俄罗斯族鄂温克族德昂族保安族裕固族京族塔塔尔族独龙族鄂伦春族赫哲族门巴族珞巴族基诺族男女性别住址出生公民身份号码签发机关有效期"})}async processIDCard(t){this.worker||await this.initialize();const e=r.adjustBrightnessContrast(t,15,25),i=r.imageDataToCanvas(e);try{const{data:t}=await this.worker.recognize(i);return this.parseIDCardText(t.text)}catch(t){return console.error("OCR识别错误:",t),{}}}parseIDCardText(t){const e={},i=t.split("\n").filter((t=>t.trim())),r=t.match(/(\d{17}[\dX])/);r&&(e.idNumber=r[1]);for(const t of i)if(t.includes("姓名")||t.length<10&&t.length>1&&!/\d/.test(t)){e.name=t.replace("姓名","").trim();break}const a=t.match(/(男|女).*(族)/);if(a){e.gender=a[1];const t=a[0];e.nationality=t.substring(t.indexOf(a[1])+1).trim()}const s=t.match(/(\d{4})年(\d{1,2})月(\d{1,2})日/);s&&(e.birthDate=`${s[1]}-${s[2]}-${s[3]}`);const n=t.match(/住址([\s\S]*?)公民身份号码/);n&&(e.address=n[1].replace(/\n/g,"").trim());const o=t.match(/签发机关([\s\S]*?)有效期/);o&&(e.issuingAuthority=o[1].replace(/\n/g,"").trim());const h=t.match(/有效期限([\s\S]*?)(-|至)/);return h&&(e.validPeriod=h[0].replace("有效期限","").trim()),e}async terminate(){this.worker&&(await this.worker.terminate(),this.worker=null)}}class n{static validateIDNumber(t){if(!t||18!==t.length)return!1;if(!/^\d{17}[\dX]$/.test(t))return!1;const e=parseInt(t.substr(6,4)),i=parseInt(t.substr(10,2)),r=parseInt(t.substr(12,2)),a=new Date(e,i-1,r);return a.getFullYear()===e&&a.getMonth()+1===i&&a.getDate()===r}static extractBirthDateFromID(t){if(!this.validateIDNumber(t))return null;return`${t.substr(6,4)}-${t.substr(10,2)}-${t.substr(12,2)}`}static extractGenderFromID(t){if(!this.validateIDNumber(t))return null;return parseInt(t.charAt(16))%2==1?"男":"女"}static extractRegionFromID(t){return this.validateIDNumber(t)?t.substr(0,6):null}static enhanceIDCardInfo(t,e){const i={...t};if(i.idNumber&&this.validateIDNumber(i.idNumber)&&(i.birthDate||(i.birthDate=this.extractBirthDateFromID(i.idNumber)||void 0),i.gender||(i.gender=this.extractGenderFromID(i.idNumber)||void 0)),e&&this.validateIDNumber(e)){i.idNumber=e;const t=this.extractBirthDateFromID(e);t&&(i.birthDate=t);const r=this.extractGenderFromID(e);r&&(i.gender=r)}return i}extractAndValidate(t){const e={...t};return e.idNumber&&(e.idNumber=this.normalizeIDNumber(e.idNumber),this.validateIDNumber(e.idNumber)&&(e.birthDate||(e.birthDate=this.extractBirthDateFromID(e.idNumber)),e.gender||(e.gender=this.extractGenderFromID(e.idNumber)))),e.birthDate&&(e.birthDate=this.normalizeDate(e.birthDate)),e.address&&(e.address=this.normalizeAddress(e.address)),e}normalizeIDNumber(t){return t.replace(/[\s\-]/g,"").toUpperCase()}validateIDNumber(t){return/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(t)}extractBirthDateFromID(t){return 18===t.length?`${t.substring(6,10)}-${t.substring(10,12)}-${t.substring(12,14)}`:15===t.length?`19${t.substring(6,8)}-${t.substring(8,10)}-${t.substring(10,12)}`:""}extractGenderFromID(t){let e;return e=18===t.length?parseInt(t.charAt(16)):parseInt(t.charAt(14)),e%2==1?"男":"女"}normalizeDate(t){return t.replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3")}normalizeAddress(t){return t.trim()}}
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("tesseract.js")):"function"==typeof define&&define.amd?define(["exports","tesseract.js"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).IDScannerOCR={},t.Tesseract)}(this,(function(t,e){"use strict";class i{constructor(t={}){this.options=t,this.stream=null,this.videoElement=null,this.options={width:640,height:480,facingMode:"environment",...t}}async start(t){return this.initialize(t)}stop(){this.release()}async initialize(t){this.videoElement=t;try{const t={video:{width:{ideal:this.options.width},height:{ideal:this.options.height},facingMode:this.options.facingMode}};this.stream=await navigator.mediaDevices.getUserMedia(t),this.videoElement&&(this.videoElement.srcObject=this.stream,await new Promise((t=>{this.videoElement&&(this.videoElement.onloadedmetadata=()=>{this.videoElement&&this.videoElement.play().then((()=>t()))})})))}catch(t){throw console.error("无法访问摄像头:",t),new Error("无法访问摄像头。请确保已授予摄像头访问权限,并且摄像头未被其他应用程序占用。")}}captureFrame(){if(!this.videoElement)return null;const t=document.createElement("canvas");t.width=this.videoElement.videoWidth,t.height=this.videoElement.videoHeight;const e=t.getContext("2d");return e?(e.drawImage(this.videoElement,0,0,t.width,t.height),e.getImageData(0,0,t.width,t.height)):null}release(){this.stream&&(this.stream.getTracks().forEach((t=>t.stop())),this.stream=null),this.videoElement&&(this.videoElement.srcObject=null,this.videoElement=null)}}class s{static imageDataToCanvas(t){const e=document.createElement("canvas");e.width=t.width,e.height=t.height;const i=e.getContext("2d");return i&&i.putImageData(t,0,0),e}static canvasToImageData(t){const e=t.getContext("2d");return e?e.getImageData(0,0,t.width,t.height):null}static adjustBrightnessContrast(t,e=0,i=0){const s=this.imageDataToCanvas(t),a=s.getContext("2d");if(a){const t=a.getImageData(0,0,s.width,s.height),r=t.data,n=259*(i+255)/(255*(259-i));for(let t=0;t<r.length;t+=4)r[t]=this.truncate(n*(r[t]-128)+128+e),r[t+1]=this.truncate(n*(r[t+1]-128)+128+e),r[t+2]=this.truncate(n*(r[t+2]-128)+128+e);return a.putImageData(t,0,0),t}return t}static truncate(t){return Math.min(255,Math.max(0,t))}static toGrayscale(t){const e=this.imageDataToCanvas(t),i=e.getContext("2d");if(i){const t=i.getImageData(0,0,e.width,e.height),s=t.data;for(let t=0;t<s.length;t+=4){const e=(s[t]+s[t+1]+s[t+2])/3;s[t]=e,s[t+1]=e,s[t+2]=e}return i.putImageData(t,0,0),t}return t}static resize(t,e,i){const s=document.createElement("canvas");s.width=e,s.height=i;const a=s.getContext("2d");if(a){const s=this.imageDataToCanvas(t);return a.drawImage(s,0,0,t.width,t.height,0,0,e,i),a.getImageData(0,0,e,i)}return t}static downsampleForProcessing(t,e=1e3){const{width:i,height:s}=t;if(i<=e&&s<=e)return t;const a=e/Math.max(i,s),r=Math.round(i*a),n=Math.round(s*a);return this.resize(t,r,n)}static imageDataToBase64(t){return this.imageDataToCanvas(t).toDataURL("image/jpeg",.7)}static async base64ToImageData(t){return new Promise(((e,i)=>{const s=new Image;s.onload=()=>{const t=document.createElement("canvas");t.width=s.width,t.height=s.height;const a=t.getContext("2d");if(!a)return void i(new Error("无法创建Canvas上下文"));a.drawImage(s,0,0);const r=a.getImageData(0,0,t.width,t.height);e(r)},s.onerror=()=>{i(new Error("图像加载失败"))},s.src=t}))}static async processImageInParallel(t,e,i=4){if("undefined"==typeof Worker||t.width*t.height<1e5)return e(t);const s=document.createElement("canvas");s.width=t.width,s.height=t.height;const a=s.getContext("2d");if(!a)throw new Error("无法创建Canvas上下文");const r=t.width>t.height,n=Math.floor((r?t.width:t.height)/i),o=[];for(let s=0;s<i;s++){const a=document.createElement("canvas"),c=a.getContext("2d");if(!c)continue;let h;if(r){const e=s*n,r=s===i-1?t.width-e:n;a.width=r,a.height=t.height;const o=this.imageDataToCanvas(t);c.drawImage(o,e,0,r,t.height,0,0,r,t.height),h=c.getImageData(0,0,r,t.height)}else{const e=s*n,r=s===i-1?t.height-e:n;a.width=t.width,a.height=r;const o=this.imageDataToCanvas(t);c.drawImage(o,0,e,t.width,r,0,0,t.width,r),h=c.getImageData(0,0,t.width,r)}const d=`\n self.onmessage = function(e) {\n const imageData = e.data.imageData;\n const processingFunction = ${e.toString()};\n const result = processingFunction(imageData);\n self.postMessage({ result, index: e.data.index }, [result.data.buffer]);\n }\n `,l=new Blob([d],{type:"application/javascript"}),m=URL.createObjectURL(l),g=new Worker(m),u=new Promise((t=>{g.onmessage=function(e){t(e.data),g.terminate(),URL.revokeObjectURL(m)},g.postMessage({imageData:h,index:s},[h.data.buffer])}));o.push(u)}const c=await Promise.all(o);c.sort(((t,e)=>t.index-e.index));for(let t=0;t<c.length;t++){const{result:e}=c[t],i=this.imageDataToCanvas(e);if(r){const e=t*n;a.drawImage(i,e,0)}else{const e=t*n;a.drawImage(i,0,e)}}return a.getImageData(0,0,t.width,t.height)}}class a{constructor(t=100){this.maxSize=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;const e=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,e),e}set(t,e){if(this.cache.has(t)&&this.cache.delete(t),this.cache.size>=this.maxSize){const t=this.cache.keys().next().value;this.cache.delete(t)}this.cache.set(t,e)}delete(t){return this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}has(t){return this.cache.has(t)}}function r(t,e=8){const i=document.createElement("canvas");i.width=e,i.height=e;const s=i.getContext("2d");if(!s)return"";const a=document.createElement("canvas");a.width=t.width,a.height=t.height;const r=a.getContext("2d");if(!r)return"";r.putImageData(t,0,0),s.drawImage(a,0,0,t.width,t.height,0,0,e,e);const n=s.getImageData(0,0,e,e),o=[];for(let t=0;t<n.data.length;t+=4){const e=n.data[t],i=n.data[t+1],s=n.data[t+2],a=Math.round(.299*e+.587*i+.114*s);o.push(a)}const c=o.reduce(((t,e)=>t+e),0)/o.length;let h="";for(const t of o)h+=t>=c?"1":"0";return h}class n{constructor(t){this.detecting=!1,this.detectTimer=null,this.frameCount=0,this.lastDetectionTime=0,this.camera=new i,"function"==typeof t?(this.onDetected=t,this.options={detectionInterval:200,maxImageDimension:800,enableCache:!0,cacheSize:20,logger:console.log}):t?(this.options={detectionInterval:200,maxImageDimension:800,enableCache:!0,cacheSize:20,logger:console.log,...t},this.onDetected=t.onDetection,this.onError=t.onError):this.options={detectionInterval:200,maxImageDimension:800,enableCache:!0,cacheSize:20,logger:console.log},this.detectionInterval=this.options.detectionInterval,this.maxImageDimension=this.options.maxImageDimension,this.resultCache=new a(this.options.cacheSize),this.throttledDetect=function(t,e){let i=0,s=null;return function(...a){const r=Date.now(),n=e-(r-i);n<=0?(s&&(clearTimeout(s),s=null),i=r,t.apply(this,a)):s||(s=window.setTimeout((()=>{i=Date.now(),s=null,t.apply(this,a)}),n))}}(this.performDetection.bind(this),this.detectionInterval)}async start(t){await this.camera.initialize(t),this.detecting=!0,this.frameCount=0,this.lastDetectionTime=0,this.detect()}stop(){this.detecting=!1,null!==this.detectTimer&&(cancelAnimationFrame(this.detectTimer),this.detectTimer=null)}detect(){this.detecting&&(this.detectTimer=requestAnimationFrame((()=>{try{this.frameCount++;const t=performance.now();(this.frameCount%3==0||t-this.lastDetectionTime>=this.detectionInterval)&&(this.throttledDetect(),this.lastDetectionTime=t),this.detect()}catch(t){this.onError?this.onError(t):console.error("身份证检测错误:",t),setTimeout((()=>{this.detecting&&this.detect()}),1e3)}})))}async performDetection(){if(!this.detecting||!this.camera)return;const t=this.camera.captureFrame();if(!t)return;if(this.options.enableCache){const e=r(t,16),i=this.resultCache.get(e);if(i){this.options.logger?.("使用缓存的检测结果");const e={...i,imageData:t};return void(this.onDetected&&this.onDetected(e))}}const e=s.downsampleForProcessing(t,this.maxImageDimension);try{const i=await this.detectIDCard(e);if(i.success&&(i.imageData=t,this.options.enableCache)){const e=r(t,16);this.resultCache.set(e,i)}this.onDetected&&this.onDetected(i)}catch(t){this.onError?this.onError(t):console.error("身份证检测错误:",t)}}async detectIDCard(t){s.toGrayscale(t);const e={success:Math.random()>.3,message:"身份证检测完成"};if(e.success){const i=t.width,a=t.height,r=Math.round(.7*i),n=Math.round(.618*r),o=Math.round((i-r)/2),c=Math.round((a-n)/2);e.corners=[{x:o,y:c},{x:o+r,y:c},{x:o+r,y:c+n},{x:o,y:c+n}],e.boundingBox={x:o,y:c,width:r,height:n};const h=document.createElement("canvas");h.width=r,h.height=n;const d=h.getContext("2d");if(d){const i=s.imageDataToCanvas(t);d.drawImage(i,o,c,r,n,0,0,r,n),e.croppedImage=d.getImageData(0,0,r,n)}e.confidence=.7+.3*Math.random()}return e}clearCache(){this.resultCache.clear(),this.options.logger?.("检测结果缓存已清除")}dispose(){this.stop(),this.camera.release(),this.resultCache.clear()}}async function o(t){const e=performance.now(),{createWorker:i}=await import("tesseract.js"),s=i(t.tessWorkerOptions||{logger:t=>console.log(t)});try{await s.load(),await s.loadLanguage("chi_sim"),await s.initialize("chi_sim"),await s.setParameters({tessedit_char_whitelist:"0123456789X-年月日一二三四五六七八九十零壹贰叁肆伍陆柒捌玖拾ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz民族汉族满族回族维吾尔族藏族苗族彝族壮族朝鲜族侗族瑶族白族土家族哈尼族哈萨克族傣族黎族傈僳族佤族高山族拉祜族水族东乡族钠西族景颇族柯尔克孜族士族达斡尔族仫佬族羌族布朗族撒拉族毛南族仡佬族锡伯族阿昌族普米族塔吉克族怒族乌孜别克族俄罗斯族鄂温克族德昂族保安族裕固族京族塔塔尔族独龙族鄂伦春族赫哲族门巴族珞巴族基诺族男女性别住址出生公民身份号码签发机关有效期"});const{data:i}=await s.recognize(t.imageBase64),a=function(t){const e={},i=t.split("\n").filter((t=>t.trim())),s=/(\d{17}[\dX])/,a=t.match(s);a&&(e.idNumber=a[1]);for(const t of i)if(t.includes("姓名")||t.length<10&&t.length>1&&!/\d/.test(t)){e.name=t.replace("姓名","").trim();break}const r=/(男|女).*(族)/,n=t.match(r);if(n){e.gender=n[1];const t=n[0];e.nationality=t.substring(t.indexOf(n[1])+1).trim()}const o=/(\d{4})年(\d{1,2})月(\d{1,2})日/,c=t.match(o);c&&(e.birthDate=`${c[1]}-${c[2]}-${c[3]}`);const h=/住址([\s\S]*?)公民身份号码/,d=t.match(h);d&&(e.address=d[1].replace(/\n/g,"").trim());const l=/签发机关([\s\S]*?)有效期/,m=t.match(l);m&&(e.issuingAuthority=m[1].replace(/\n/g,"").trim());const g=/有效期限([\s\S]*?)(-|至)/,u=t.match(g);u&&(e.validPeriod=u[0].replace("有效期限","").trim());return e}(i.text);await s.terminate();return{idCardInfo:a,processingTime:performance.now()-e}}catch(t){throw await s.terminate(),t}}class c{constructor(t={}){this.worker=null,this.ocrWorker=null,this.initialized=!1,this.options={useWorker:"undefined"!=typeof Worker,enableCache:!0,cacheSize:50,maxImageDimension:1e3,logger:console.log,...t},this.resultCache=new a(this.options.cacheSize)}async initialize(){this.initialized||(this.options.useWorker?(this.ocrWorker=function(t){const e=`\n self.onmessage = async function(e) {\n try {\n const result = await (${t.toString()})(e.data);\n self.postMessage({ success: true, result });\n } catch (error) {\n self.postMessage({ \n success: false, \n error: { message: error.message, stack: error.stack }\n });\n }\n }\n `,i=new Blob([e],{type:"application/javascript"}),s=URL.createObjectURL(i),a=new Worker(s),r=new Map;let n=0;return a.onmessage=t=>{0===r.size&&URL.revokeObjectURL(s);const{id:e,success:i,result:a,error:n}=t.data,o=r.get(e);if(o)if(r.delete(e),i)o.resolve(a);else{const t=new Error(n.message);t.stack=n.stack,o.reject(t)}},{postMessage:t=>new Promise(((e,i)=>{const s=n++;r.set(s,{resolve:e,reject:i}),a.postMessage({id:s,data:t})})),terminate:()=>{a.terminate(),r.clear(),URL.revokeObjectURL(s)}}}(o),this.initialized=!0,this.options.logger?.("OCR Worker 初始化完成")):(this.worker=e.createWorker({logger:this.options.logger}),await this.worker.load(),await this.worker.loadLanguage("chi_sim"),await this.worker.initialize("chi_sim"),await this.worker.setParameters({tessedit_char_whitelist:"0123456789X-年月日一二三四五六七八九十零壹贰叁肆伍陆柒捌玖拾ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz民族汉族满族回族维吾尔族藏族苗族彝族壮族朝鲜族侗族瑶族白族土家族哈尼族哈萨克族傣族黎族傈僳族佤族高山族拉祜族水族东乡族钠西族景颇族柯尔克孜族士族达斡尔族仫佬族羌族布朗族撒拉族毛南族仡佬族锡伯族阿昌族普米族塔吉克族怒族乌孜别克族俄罗斯族鄂温克族德昂族保安族裕固族京族塔塔尔族独龙族鄂伦春族赫哲族门巴族珞巴族基诺族男女性别住址出生公民身份号码签发机关有效期"}),this.initialized=!0,this.options.logger?.("OCR引擎初始化完成")))}async processIDCard(t){if(this.initialized||await this.initialize(),this.options.enableCache){const e=r(t),i=this.resultCache.get(e);if(i)return this.options.logger?.("使用缓存的OCR结果"),i}const e=s.downsampleForProcessing(t,this.options.maxImageDimension),i=s.adjustBrightnessContrast(e,15,25);try{let e;if(this.options.useWorker&&this.ocrWorker){const t=s.imageDataToBase64(i),a=await this.ocrWorker.postMessage({imageBase64:t,tessWorkerOptions:{logger:this.options.logger}});e=a.idCardInfo,this.options.logger?.(`OCR处理完成,用时: ${a.processingTime.toFixed(2)}ms`)}else{const t=performance.now(),a=s.imageDataToCanvas(i),{data:r}=await this.worker.recognize(a);e=this.parseIDCardText(r.text);const n=performance.now()-t;this.options.logger?.(`OCR处理完成,用时: ${n.toFixed(2)}ms`)}if(this.options.enableCache){const i=r(t);this.resultCache.set(i,e)}return e}catch(t){return this.options.logger?.(`OCR识别错误: ${t}`),{}}}parseIDCardText(t){const e={},i=t.split("\n").filter((t=>t.trim())),s=t.match(/(\d{17}[\dX])/);s&&(e.idNumber=s[1]);for(const t of i)if(t.includes("姓名")||t.length<10&&t.length>1&&!/\d/.test(t)){e.name=t.replace("姓名","").trim();break}const a=t.match(/(男|女).*(族)/);if(a){e.gender=a[1];const t=a[0];e.nationality=t.substring(t.indexOf(a[1])+1).trim()}const r=t.match(/(\d{4})年(\d{1,2})月(\d{1,2})日/);r&&(e.birthDate=`${r[1]}-${r[2]}-${r[3]}`);const n=t.match(/住址([\s\S]*?)公民身份号码/);n&&(e.address=n[1].replace(/\n/g,"").trim());const o=t.match(/签发机关([\s\S]*?)有效期/);o&&(e.issuingAuthority=o[1].replace(/\n/g,"").trim());const c=t.match(/有效期限([\s\S]*?)(-|至)/);return c&&(e.validPeriod=c[0].replace("有效期限","").trim()),e}clearCache(){this.resultCache.clear(),this.options.logger?.("OCR结果缓存已清除")}async terminate(){this.worker&&(await this.worker.terminate(),this.worker=null),this.ocrWorker&&(this.ocrWorker.terminate(),this.ocrWorker=null),this.initialized=!1,this.options.logger?.("OCR引擎已终止")}dispose(){return this.terminate()}}class h{static validateIDNumber(t){if(!t||18!==t.length)return!1;if(!/^\d{17}[\dX]$/.test(t))return!1;const e=parseInt(t.substr(6,4)),i=parseInt(t.substr(10,2)),s=parseInt(t.substr(12,2)),a=new Date(e,i-1,s);return a.getFullYear()===e&&a.getMonth()+1===i&&a.getDate()===s}static extractBirthDateFromID(t){if(!this.validateIDNumber(t))return null;return`${t.substr(6,4)}-${t.substr(10,2)}-${t.substr(12,2)}`}static extractGenderFromID(t){if(!this.validateIDNumber(t))return null;return parseInt(t.charAt(16))%2==1?"男":"女"}static extractRegionFromID(t){return this.validateIDNumber(t)?t.substr(0,6):null}static enhanceIDCardInfo(t,e){const i={...t};if(i.idNumber&&this.validateIDNumber(i.idNumber)&&(i.birthDate||(i.birthDate=this.extractBirthDateFromID(i.idNumber)||void 0),i.gender||(i.gender=this.extractGenderFromID(i.idNumber)||void 0)),e&&this.validateIDNumber(e)){i.idNumber=e;const t=this.extractBirthDateFromID(e);t&&(i.birthDate=t);const s=this.extractGenderFromID(e);s&&(i.gender=s)}return i}extractAndValidate(t){const e={...t};return e.idNumber&&(e.idNumber=this.normalizeIDNumber(e.idNumber),this.validateIDNumber(e.idNumber)&&(e.birthDate||(e.birthDate=this.extractBirthDateFromID(e.idNumber)),e.gender||(e.gender=this.extractGenderFromID(e.idNumber)))),e.birthDate&&(e.birthDate=this.normalizeDate(e.birthDate)),e.address&&(e.address=this.normalizeAddress(e.address)),e}normalizeIDNumber(t){return t.replace(/[\s\-]/g,"").toUpperCase()}validateIDNumber(t){return/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(t)}extractBirthDateFromID(t){return 18===t.length?`${t.substring(6,10)}-${t.substring(10,12)}-${t.substring(12,14)}`:15===t.length?`19${t.substring(6,8)}-${t.substring(8,10)}-${t.substring(10,12)}`:""}extractGenderFromID(t){let e;return e=18===t.length?parseInt(t.charAt(16)):parseInt(t.charAt(14)),e%2==1?"男":"女"}normalizeDate(t){return t.replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3")}normalizeAddress(t){return t.trim()}}
|
|
2
2
|
/**
|
|
3
3
|
* @file OCR模块入口文件
|
|
4
4
|
* @description 包含身份证OCR识别相关功能
|
|
5
5
|
* @module IDScannerOCR
|
|
6
6
|
* @version 1.0.0
|
|
7
7
|
* @license MIT
|
|
8
|
-
*/t.DataExtractor=
|
|
8
|
+
*/t.DataExtractor=h,t.IDCardDetector=n,t.OCRModule=class{constructor(t={}){this.options=t,this.isRunning=!1,this.videoElement=null,this.camera=new i(t.cameraOptions),this.idDetector=new n({onDetection:this.handleIDDetection.bind(this),onError:this.handleError.bind(this)}),this.ocrProcessor=new c,this.dataExtractor=new h}async initialize(){try{await this.ocrProcessor.initialize(),console.log("OCR engine initialized")}catch(t){throw this.handleError(t),t}}async startIDCardScanner(t){if(!this.ocrProcessor)throw new Error("OCR engine not initialized. Call initialize() first.");this.videoElement=t,this.isRunning=!0,await this.camera.start(t),this.idDetector.start(t)}stop(){this.isRunning=!1,this.idDetector.stop(),this.camera.stop()}async handleIDDetection(t){if(this.isRunning)try{if(!t.imageData)return void this.handleError(new Error("无效的图像数据"));const e=await this.ocrProcessor.processIDCard(t.imageData),i=this.dataExtractor.extractAndValidate(e);this.options.onIDCardScanned&&this.options.onIDCardScanned(i)}catch(t){this.handleError(t)}}handleError(t){this.options.onError?this.options.onError(t):console.error("OCRModule error:",t)}async terminate(){this.stop(),await this.ocrProcessor.terminate()}},t.OCRProcessor=c}));
|
|
9
9
|
//# sourceMappingURL=id-scanner-ocr.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id-scanner-ocr.min.js","sources":["../src/utils/camera.ts","../src/utils/image-processing.ts","../src/id-recognition/id-detector.ts","../src/id-recognition/ocr-processor.ts","../src/id-recognition/data-extractor.ts","../src/ocr-module.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["Camera","constructor","options","this","stream","videoElement","width","height","facingMode","start","initialize","stop","release","constraints","video","ideal","navigator","mediaDevices","getUserMedia","srcObject","Promise","resolve","onloadedmetadata","play","then","error","console","Error","captureFrame","canvas","document","createElement","videoWidth","videoHeight","context","getContext","drawImage","getImageData","getTracks","forEach","track","ImageProcessor","imageDataToCanvas","imageData","ctx","putImageData","canvasToImageData","adjustBrightnessContrast","brightness","contrast","imgData","data","factor","i","length","truncate","value","Math","min","max","toGrayscale","avg","resize","newWidth","newHeight","tempCanvas","IDCardDetector","detecting","detectTimer","camera","onDetected","onDetection","detect","result","detectIDCard","window","setTimeout","grayscale","random","cardWidth","floor","cardHeight","x","y","corners","sourceCanvas","success","croppedImage","clearTimeout","OCRProcessor","worker","createWorker","logger","m","log","load","loadLanguage","setParameters","tessedit_char_whitelist","processIDCard","enhancedImage","recognize","parseIDCardText","text","info","lines","split","filter","line","trim","idNumberMatch","match","idNumber","includes","test","name","replace","genderMatch","gender","nationalityText","nationality","substring","indexOf","birthDateMatch","birthDate","addressMatch","address","authorityMatch","issuingAuthority","validPeriodMatch","validPeriod","terminate","DataExtractor","validateIDNumber","year","parseInt","substr","month","day","date","Date","getFullYear","getMonth","getDate","extractBirthDateFromID","extractGenderFromID","charAt","extractRegionFromID","enhanceIDCardInfo","ocrInfo","undefined","extractAndValidate","idCardInfo","enhancedInfo","normalizeIDNumber","normalizeDate","normalizeAddress","toUpperCase","sexCode","isRunning","cameraOptions","idDetector","handleIDDetection","bind","onError","handleError","ocrProcessor","dataExtractor","startIDCardScanner","extractedInfo","onIDCardScanned"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"id-scanner-ocr.min.js","sources":["../src/utils/camera.ts","../src/utils/image-processing.ts","../src/utils/performance.ts","../src/id-recognition/id-detector.ts","../src/id-recognition/ocr-worker.ts","../src/id-recognition/ocr-processor.ts","../src/utils/worker.ts","../src/id-recognition/data-extractor.ts","../src/ocr-module.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["Camera","constructor","options","this","stream","videoElement","width","height","facingMode","start","initialize","stop","release","constraints","video","ideal","navigator","mediaDevices","getUserMedia","srcObject","Promise","resolve","onloadedmetadata","play","then","error","console","Error","captureFrame","canvas","document","createElement","videoWidth","videoHeight","context","getContext","drawImage","getImageData","getTracks","forEach","track","ImageProcessor","imageDataToCanvas","imageData","ctx","putImageData","canvasToImageData","adjustBrightnessContrast","brightness","contrast","imgData","data","factor","i","length","truncate","value","Math","min","max","toGrayscale","avg","resize","newWidth","newHeight","tempCanvas","downsampleForProcessing","maxDimension","scale","round","imageDataToBase64","toDataURL","base64ToImageData","base64","reject","img","Image","onload","onerror","src","processImageInParallel","processingFunction","chunks","Worker","resultCanvas","resultCtx","isWide","chunkSize","floor","promises","chunkCanvas","chunkCtx","chunkImageData","startX","startY","workerCode","toString","blob","Blob","type","workerUrl","URL","createObjectURL","worker","promise","onmessage","e","terminate","revokeObjectURL","postMessage","index","buffer","push","results","all","sort","a","b","result","LRUCache","maxSize","cache","Map","get","key","has","delete","set","size","oldestKey","keys","next","clear","calculateImageFingerprint","tempCtx","smallImgData","grayValues","r","g","gray","reduce","sum","val","fingerprint","IDCardDetector","detecting","detectTimer","frameCount","lastDetectionTime","camera","onDetected","detectionInterval","maxImageDimension","enableCache","cacheSize","logger","log","onDetection","onError","resultCache","throttledDetect","fn","delay","lastCall","timeoutId","args","now","Date","remaining","clearTimeout","apply","window","setTimeout","throttle","performDetection","bind","detect","cancelAnimationFrame","requestAnimationFrame","performance","frame","cachedResult","updatedResult","downsampledFrame","detectIDCard","success","detectionResult","random","message","rectWidth","rectHeight","rectX","rectY","corners","x","y","boundingBox","croppedImage","confidence","clearCache","dispose","async","processOCRInWorker","input","startTime","createWorker","import","tessWorkerOptions","m","load","loadLanguage","setParameters","tessedit_char_whitelist","recognize","imageBase64","idCardInfo","text","info","lines","split","filter","line","trim","idNumberRegex","idNumberMatch","match","idNumber","includes","test","name","replace","genderNationalityRegex","genderMatch","gender","nationalityText","nationality","substring","indexOf","birthDateRegex","birthDateMatch","birthDate","addressRegex","addressMatch","address","authorityRegex","authorityMatch","issuingAuthority","validPeriodRegex","validPeriodMatch","validPeriod","parseIDCardText","processingTime","OCRProcessor","ocrWorker","initialized","useWorker","workerFunction","promiseMap","messageCounter","id","promiseHandlers","workerError","stack","createCustomWorker","processIDCard","downsampledImage","enhancedImage","base64Image","toFixed","DataExtractor","validateIDNumber","year","parseInt","substr","month","day","date","getFullYear","getMonth","getDate","extractBirthDateFromID","extractGenderFromID","charAt","extractRegionFromID","enhanceIDCardInfo","ocrInfo","undefined","extractAndValidate","enhancedInfo","normalizeIDNumber","normalizeDate","normalizeAddress","toUpperCase","sexCode","isRunning","cameraOptions","idDetector","handleIDDetection","handleError","ocrProcessor","dataExtractor","startIDCardScanner","extractedInfo","onIDCardScanned"],"mappings":"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"}
|
|
@@ -377,6 +377,166 @@ class ImageProcessor {
|
|
|
377
377
|
}
|
|
378
378
|
return imageData;
|
|
379
379
|
}
|
|
380
|
+
/**
|
|
381
|
+
* 降低图像分辨率以提高处理速度
|
|
382
|
+
*
|
|
383
|
+
* 对于OCR和图像分析,降低分辨率可以在保持识别率的同时大幅提升处理速度
|
|
384
|
+
*
|
|
385
|
+
* @param {ImageData} imageData - 原图像数据
|
|
386
|
+
* @param {number} [maxDimension=1000] - 目标最大尺寸(宽或高)
|
|
387
|
+
* @returns {ImageData} 处理后的图像数据
|
|
388
|
+
*/
|
|
389
|
+
static downsampleForProcessing(imageData, maxDimension = 1000) {
|
|
390
|
+
const { width, height } = imageData;
|
|
391
|
+
// 如果图像尺寸已经小于或等于目标尺寸,则无需处理
|
|
392
|
+
if (width <= maxDimension && height <= maxDimension) {
|
|
393
|
+
return imageData;
|
|
394
|
+
}
|
|
395
|
+
// 计算缩放比例,保持宽高比
|
|
396
|
+
const scale = maxDimension / Math.max(width, height);
|
|
397
|
+
const newWidth = Math.round(width * scale);
|
|
398
|
+
const newHeight = Math.round(height * scale);
|
|
399
|
+
// 调整图像大小
|
|
400
|
+
return this.resize(imageData, newWidth, newHeight);
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* 转换图像为Base64格式,方便在Worker线程中传递
|
|
404
|
+
*
|
|
405
|
+
* @param {ImageData} imageData - 原图像数据
|
|
406
|
+
* @returns {string} base64编码的图像数据
|
|
407
|
+
*/
|
|
408
|
+
static imageDataToBase64(imageData) {
|
|
409
|
+
const canvas = this.imageDataToCanvas(imageData);
|
|
410
|
+
return canvas.toDataURL('image/jpeg', 0.7); // 使用较低质量的JPEG格式减少数据量
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* 从Base64字符串还原图像数据
|
|
414
|
+
*
|
|
415
|
+
* @param {string} base64 - base64编码的图像数据
|
|
416
|
+
* @returns {Promise<ImageData>} 还原的图像数据
|
|
417
|
+
*/
|
|
418
|
+
static async base64ToImageData(base64) {
|
|
419
|
+
return new Promise((resolve, reject) => {
|
|
420
|
+
const img = new Image();
|
|
421
|
+
img.onload = () => {
|
|
422
|
+
const canvas = document.createElement('canvas');
|
|
423
|
+
canvas.width = img.width;
|
|
424
|
+
canvas.height = img.height;
|
|
425
|
+
const ctx = canvas.getContext('2d');
|
|
426
|
+
if (!ctx) {
|
|
427
|
+
reject(new Error('无法创建Canvas上下文'));
|
|
428
|
+
return;
|
|
429
|
+
}
|
|
430
|
+
ctx.drawImage(img, 0, 0);
|
|
431
|
+
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
|
|
432
|
+
resolve(imageData);
|
|
433
|
+
};
|
|
434
|
+
img.onerror = () => {
|
|
435
|
+
reject(new Error('图像加载失败'));
|
|
436
|
+
};
|
|
437
|
+
img.src = base64;
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* 使用Web Worker并行处理图像
|
|
442
|
+
* 此方法将图像分割为多个部分,并行处理以提高性能
|
|
443
|
+
*
|
|
444
|
+
* @param {ImageData} imageData - 原图像数据
|
|
445
|
+
* @param {Function} processingFunction - 处理函数,接收ImageData返回ImageData
|
|
446
|
+
* @param {number} [chunks=4] - 分割的块数
|
|
447
|
+
* @returns {Promise<ImageData>} 处理后的图像数据
|
|
448
|
+
*/
|
|
449
|
+
static async processImageInParallel(imageData, processingFunction, chunks = 4) {
|
|
450
|
+
// 如果不支持Worker或图像太小,直接处理
|
|
451
|
+
if (typeof Worker === 'undefined' || imageData.width * imageData.height < 100000) {
|
|
452
|
+
return processingFunction(imageData);
|
|
453
|
+
}
|
|
454
|
+
// 创建结果canvas
|
|
455
|
+
const resultCanvas = document.createElement('canvas');
|
|
456
|
+
resultCanvas.width = imageData.width;
|
|
457
|
+
resultCanvas.height = imageData.height;
|
|
458
|
+
const resultCtx = resultCanvas.getContext('2d');
|
|
459
|
+
if (!resultCtx) {
|
|
460
|
+
throw new Error('无法创建Canvas上下文');
|
|
461
|
+
}
|
|
462
|
+
// 根据图像特性确定分割方向和每块大小
|
|
463
|
+
const isWide = imageData.width > imageData.height;
|
|
464
|
+
const chunkSize = Math.floor((isWide ? imageData.width : imageData.height) / chunks);
|
|
465
|
+
// 创建Worker处理每个块
|
|
466
|
+
const promises = [];
|
|
467
|
+
for (let i = 0; i < chunks; i++) {
|
|
468
|
+
const chunkCanvas = document.createElement('canvas');
|
|
469
|
+
const chunkCtx = chunkCanvas.getContext('2d');
|
|
470
|
+
if (!chunkCtx)
|
|
471
|
+
continue;
|
|
472
|
+
let chunkImageData;
|
|
473
|
+
if (isWide) {
|
|
474
|
+
// 水平分割
|
|
475
|
+
const startX = i * chunkSize;
|
|
476
|
+
const width = (i === chunks - 1) ? imageData.width - startX : chunkSize;
|
|
477
|
+
chunkCanvas.width = width;
|
|
478
|
+
chunkCanvas.height = imageData.height;
|
|
479
|
+
// 复制原图像数据到分块
|
|
480
|
+
const tempCanvas = this.imageDataToCanvas(imageData);
|
|
481
|
+
chunkCtx.drawImage(tempCanvas, startX, 0, width, imageData.height, 0, 0, width, imageData.height);
|
|
482
|
+
chunkImageData = chunkCtx.getImageData(0, 0, width, imageData.height);
|
|
483
|
+
}
|
|
484
|
+
else {
|
|
485
|
+
// 垂直分割
|
|
486
|
+
const startY = i * chunkSize;
|
|
487
|
+
const height = (i === chunks - 1) ? imageData.height - startY : chunkSize;
|
|
488
|
+
chunkCanvas.width = imageData.width;
|
|
489
|
+
chunkCanvas.height = height;
|
|
490
|
+
// 复制原图像数据到分块
|
|
491
|
+
const tempCanvas = this.imageDataToCanvas(imageData);
|
|
492
|
+
chunkCtx.drawImage(tempCanvas, 0, startY, imageData.width, height, 0, 0, imageData.width, height);
|
|
493
|
+
chunkImageData = chunkCtx.getImageData(0, 0, imageData.width, height);
|
|
494
|
+
}
|
|
495
|
+
// 使用Worker处理
|
|
496
|
+
const workerCode = `
|
|
497
|
+
self.onmessage = function(e) {
|
|
498
|
+
const imageData = e.data.imageData;
|
|
499
|
+
const processingFunction = ${processingFunction.toString()};
|
|
500
|
+
const result = processingFunction(imageData);
|
|
501
|
+
self.postMessage({ result, index: e.data.index }, [result.data.buffer]);
|
|
502
|
+
}
|
|
503
|
+
`;
|
|
504
|
+
const blob = new Blob([workerCode], { type: 'application/javascript' });
|
|
505
|
+
const workerUrl = URL.createObjectURL(blob);
|
|
506
|
+
const worker = new Worker(workerUrl);
|
|
507
|
+
const promise = new Promise((resolve) => {
|
|
508
|
+
worker.onmessage = function (e) {
|
|
509
|
+
resolve(e.data);
|
|
510
|
+
worker.terminate();
|
|
511
|
+
URL.revokeObjectURL(workerUrl);
|
|
512
|
+
};
|
|
513
|
+
// 传输数据
|
|
514
|
+
worker.postMessage({
|
|
515
|
+
imageData: chunkImageData,
|
|
516
|
+
index: i
|
|
517
|
+
}, [chunkImageData.data.buffer]);
|
|
518
|
+
});
|
|
519
|
+
promises.push(promise);
|
|
520
|
+
}
|
|
521
|
+
// 等待所有Worker完成并组合结果
|
|
522
|
+
const results = await Promise.all(promises);
|
|
523
|
+
// 按索引排序结果
|
|
524
|
+
results.sort((a, b) => a.index - b.index);
|
|
525
|
+
// 将处理后的块绘制到结果canvas
|
|
526
|
+
for (let i = 0; i < results.length; i++) {
|
|
527
|
+
const { result } = results[i];
|
|
528
|
+
const tempCanvas = this.imageDataToCanvas(result);
|
|
529
|
+
if (isWide) {
|
|
530
|
+
const startX = i * chunkSize;
|
|
531
|
+
resultCtx.drawImage(tempCanvas, startX, 0);
|
|
532
|
+
}
|
|
533
|
+
else {
|
|
534
|
+
const startY = i * chunkSize;
|
|
535
|
+
resultCtx.drawImage(tempCanvas, 0, startY);
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
return resultCtx.getImageData(0, 0, imageData.width, imageData.height);
|
|
539
|
+
}
|
|
380
540
|
}
|
|
381
541
|
|
|
382
542
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id-scanner-qr.esm.js","sources":["../src/utils/camera.ts","../src/scanner/qr-scanner.ts","../src/utils/image-processing.ts","../src/scanner/barcode-scanner.ts","../src/qr-module.ts"],"sourcesContent":[null,null,null,null,null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"id-scanner-qr.esm.js","sources":["../src/utils/camera.ts","../src/scanner/qr-scanner.ts","../src/utils/image-processing.ts","../src/scanner/barcode-scanner.ts","../src/qr-module.ts"],"sourcesContent":[null,null,null,null,null],"names":[],"mappings":"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"}
|