Ver código fonte

车牌识别

aleyds 3 anos atrás
pai
commit
0781ccac88
4 arquivos alterados com 221 adições e 177 exclusões
  1. 55 42
      pages/getcarno/getcarno.vue
  2. 57 46
      pages/getin/getin.vue
  3. 57 47
      pages/getout/getout.vue
  4. 52 42
      pages/ownersquery/ownersquery.vue

+ 55 - 42
pages/getcarno/getcarno.vue

@@ -17,6 +17,9 @@
 </template>
 
 <script>
+	//#ifdef APP-PLUS
+	let ocr = uni.requireNativePlugin("OcrPlug");
+	//#endif
 	export default{
 		data(){
 			return{
@@ -33,50 +36,60 @@
 		methods:{
 			getPic(){
 				let that = this;
-				uni.chooseImage({
-					count: 1, //默认9
-					sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
-					sourceType: ['camera'], //
-					success: function (res) {
-						// console.log('img',res)
-						uni.showLoading({});
-						const tempFilePaths = res.tempFilePaths;
-						// 若多选,需循环调用uni.uploadFile ,因微信小程序只支持单文件上传
-						uni.uploadFile({
-							url: `${that.config.fileUrl}/baidu/ocr`,
-							filePath: tempFilePaths[0],
-							name: 'file',
-							formData: {
-								'test': 'test'  // 上传附带参数
-							},
-							success: (res) => {
-								// 根据接口具体返回格式   赋值具体对应url
-								// alert(uploadFileRes.data);
-								let resobj=eval("("+res.data+")");
-								uni.hideLoading();
-								if(resobj.code==200){
-									console.log(resobj);
-									that.newPlateNumber = resobj.data.vehicleNo;
-									that.vehicleClor = resobj.data.vehicleClor;
-								}else{
-									that.$refs.uToast.show({
-										title: resobj.msg,
-										type: 'error'
-									});
-								}
-								
-								console.log(res);
-							},
-							fail: (err) => {
-								that.$refs.uToast.show({
-									title:err.msg,
-									type: 'error'
-								});
-								uni.hideLoading();
-							}
-						});
+				ocr.ocrVehicleNo((ret) => {
+					if (ret.success){
+						that.confirmData.vehicleNo = ret.vehicleNo;
+						//that.vehicleImage =  'data:image/png;base64,' + ret.imageBase64;
+						// speak('成功识别车牌' + ret.vehicleNo);
+					}else {
+						plus.nativeUI.toast('识别失败');
 					}
 				});
+				// let that = this;
+				// uni.chooseImage({
+				// 	count: 1, //默认9
+				// 	sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
+				// 	sourceType: ['camera'], //
+				// 	success: function (res) {
+				// 		// console.log('img',res)
+				// 		uni.showLoading({});
+				// 		const tempFilePaths = res.tempFilePaths;
+				// 		// 若多选,需循环调用uni.uploadFile ,因微信小程序只支持单文件上传
+				// 		uni.uploadFile({
+				// 			url: `${that.config.fileUrl}/baidu/ocr`,
+				// 			filePath: tempFilePaths[0],
+				// 			name: 'file',
+				// 			formData: {
+				// 				'test': 'test'  // 上传附带参数
+				// 			},
+				// 			success: (res) => {
+				// 				// 根据接口具体返回格式   赋值具体对应url
+				// 				// alert(uploadFileRes.data);
+				// 				let resobj=eval("("+res.data+")");
+				// 				uni.hideLoading();
+				// 				if(resobj.code==200){
+				// 					console.log(resobj);
+				// 					that.newPlateNumber = resobj.data.vehicleNo;
+				// 					that.vehicleClor = resobj.data.vehicleClor;
+				// 				}else{
+				// 					that.$refs.uToast.show({
+				// 						title: resobj.msg,
+				// 						type: 'error'
+				// 					});
+				// 				}
+								
+				// 				console.log(res);
+				// 			},
+				// 			fail: (err) => {
+				// 				that.$refs.uToast.show({
+				// 					title:err.msg,
+				// 					type: 'error'
+				// 				});
+				// 				uni.hideLoading();
+				// 			}
+				// 		});
+				// 	}
+				// });
 					
 				
 			},

+ 57 - 46
pages/getin/getin.vue

@@ -78,6 +78,7 @@
 	import speak from '@/utils/speaks.js';
 	let ALog = uni.requireNativePlugin("AndroidLog");
 	let device = uni.requireNativePlugin("DeviceInfo");
+	let ocr = uni.requireNativePlugin("OcrPlug");
 	//#endif
 	export default {
 		data() {
@@ -208,54 +209,64 @@
 			},
 			getPic(){
 				let that = this;
-				uni.chooseImage({
-					count: 1, //默认9
-					sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
-					sourceType: ['camera'], //
-					success: function (res) {
-						console.log('img',res)
-						that.carImg = res.tempFilePaths[0];
-						uni.showLoading({});
-						const tempFilePaths = res.tempFilePaths;
-						// 若多选,需循环调用uni.uploadFile ,因微信小程序只支持单文件上传
-						uni.uploadFile({
-							url: `${that.config.fileUrl}/baidu/ocr`,
-							filePath: tempFilePaths[0],
-							name: 'file',
-							formData: {
-								'isUpload': '1'  // 上传附带参数
-							},
-							success: (res) => {
-								// 根据接口具体返回格式   赋值具体对应url
-								// alert(uploadFileRes.data);
-								let resobj=eval("("+res.data+")");
-								uni.hideLoading();
-								if(resobj.code==200){
-									console.log(resobj);
-									//#ifdef APP-PLUS
-									speak(resobj.data.vehicleNo);
-									//#endif
-									that.vehicleNo = resobj.data.vehicleNo;
-									that.vehicleClor = resobj.data.vehicleClor;
-									that.vehicleImage =  resobj.data.url;
-								}else{
-									that.$refs.uToast.show({
-										title: resobj.msg,
-										type: 'error'
-									});
-								};
-								console.log('resobj',resobj);
-							},
-							fail: (err) => {
-								that.$refs.uToast.show({
-									title:err.msg,
-									type: 'error'
-								});
-								uni.hideLoading();
-							}
-						});
+				// ALog.info({msg: "OCR"})
+				ocr.ocrVehicleNo((ret) => {
+					if (ret.success){
+						that.vehicleNo = ret.vehicleNo;
+						//that.vehicleImage =  'data:image/png;base64,' + ret.imageBase64;
+						// speak('成功识别车牌' + ret.vehicleNo);
+					}else {
+						plus.nativeUI.toast('识别失败');
 					}
 				});
+				// uni.chooseImage({
+				// 	count: 1, //默认9
+				// 	sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
+				// 	sourceType: ['camera'], //
+				// 	success: function (res) {
+				// 		console.log('img',res)
+				// 		that.carImg = res.tempFilePaths[0];
+				// 		uni.showLoading({});
+				// 		const tempFilePaths = res.tempFilePaths;
+				// 		// 若多选,需循环调用uni.uploadFile ,因微信小程序只支持单文件上传
+				// 		uni.uploadFile({
+				// 			url: `${that.config.fileUrl}/baidu/ocr`,
+				// 			filePath: tempFilePaths[0],
+				// 			name: 'file',
+				// 			formData: {
+				// 				'isUpload': '1'  // 上传附带参数
+				// 			},
+				// 			success: (res) => {
+				// 				// 根据接口具体返回格式   赋值具体对应url
+				// 				// alert(uploadFileRes.data);
+				// 				let resobj=eval("("+res.data+")");
+				// 				uni.hideLoading();
+				// 				if(resobj.code==200){
+				// 					console.log(resobj);
+				// 					//#ifdef APP-PLUS
+				// 					speak(resobj.data.vehicleNo);
+				// 					//#endif
+				// 					that.vehicleNo = resobj.data.vehicleNo;
+				// 					that.vehicleClor = resobj.data.vehicleClor;
+				// 					that.vehicleImage =  resobj.data.url;
+				// 				}else{
+				// 					that.$refs.uToast.show({
+				// 						title: resobj.msg,
+				// 						type: 'error'
+				// 					});
+				// 				};
+				// 				console.log('resobj',resobj);
+				// 			},
+				// 			fail: (err) => {
+				// 				that.$refs.uToast.show({
+				// 					title:err.msg,
+				// 					type: 'error'
+				// 				});
+				// 				uni.hideLoading();
+				// 			}
+				// 		});
+				// 	}
+				// });
 			},
 			messageInputClick(){
 				this.keyboardshow = true;

+ 57 - 47
pages/getout/getout.vue

@@ -86,6 +86,7 @@
 	import speak from '@/utils/speaks.js';
 	let ALog = uni.requireNativePlugin("AndroidLog");
 	let device = uni.requireNativePlugin("DeviceInfo");
+	let ocr = uni.requireNativePlugin("OcrPlug");
 	//#endif
 	export default {
 		data() {
@@ -221,55 +222,64 @@
 			},
 			getPic(){
 				let that = this;
-				uni.chooseImage({
-					count: 1, //默认9
-					sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
-					sourceType: ['camera'], //
-					success: function (res) {
-						console.log('img',res)
-						that.confirmData.carImg = res.tempFilePaths[0];
-						uni.showLoading({});
-						const tempFilePaths = res.tempFilePaths;
-						// 若多选,需循环调用uni.uploadFile ,因微信小程序只支持单文件上传
-						uni.uploadFile({
-							url: `${that.config.fileUrl}/baidu/ocr`,
-							filePath: tempFilePaths[0],
-							name: 'file',
-							formData: {
-								'isUpload': '1'  // 上传附带参数
-							},
-							success: (res) => {
-								// 根据接口具体返回格式   赋值具体对应url
-								// alert(uploadFileRes.data);
-								let resobj=eval("("+res.data+")");
-								uni.hideLoading();
-								if(resobj.code==200){
-									console.log(resobj);
-									//#ifdef APP-PLUS
-									speak(resobj.data.vehicleNo);
-									//#endif
-									that.confirmData.vehicleNo = resobj.data.vehicleNo;
-									that.confirmData.vehicleClor = resobj.data.vehicleClor;
-									that.confirmData.vehicleImage =  resobj.data.url;
-									console.log('that.confirmData',that.confirmData);
-								}else{
-									that.$refs.uToast.show({
-										title: resobj.msg,
-										type: 'error'
-									});
-								};
-								console.log('resobj',resobj);
-							},
-							fail: (err) => {
-								that.$refs.uToast.show({
-									title:err.msg,
-									type: 'error'
-								});
-								uni.hideLoading();
-							}
-						});
+				ocr.ocrVehicleNo((ret) => {
+					if (ret.success){
+						that.confirmData.vehicleNo = ret.vehicleNo;
+						//that.vehicleImage =  'data:image/png;base64,' + ret.imageBase64;
+						// speak('成功识别车牌' + ret.vehicleNo);
+					}else {
+						plus.nativeUI.toast('识别失败');
 					}
 				});
+				// uni.chooseImage({
+				// 	count: 1, //默认9
+				// 	sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
+				// 	sourceType: ['camera'], //
+				// 	success: function (res) {
+				// 		console.log('img',res)
+				// 		that.confirmData.carImg = res.tempFilePaths[0];
+				// 		uni.showLoading({});
+				// 		const tempFilePaths = res.tempFilePaths;
+				// 		// 若多选,需循环调用uni.uploadFile ,因微信小程序只支持单文件上传
+				// 		uni.uploadFile({
+				// 			url: `${that.config.fileUrl}/baidu/ocr`,
+				// 			filePath: tempFilePaths[0],
+				// 			name: 'file',
+				// 			formData: {
+				// 				'isUpload': '1'  // 上传附带参数
+				// 			},
+				// 			success: (res) => {
+				// 				// 根据接口具体返回格式   赋值具体对应url
+				// 				// alert(uploadFileRes.data);
+				// 				let resobj=eval("("+res.data+")");
+				// 				uni.hideLoading();
+				// 				if(resobj.code==200){
+				// 					console.log(resobj);
+				// 					//#ifdef APP-PLUS
+				// 					speak(resobj.data.vehicleNo);
+				// 					//#endif
+				// 					that.confirmData.vehicleNo = resobj.data.vehicleNo;
+				// 					that.confirmData.vehicleClor = resobj.data.vehicleClor;
+				// 					that.confirmData.vehicleImage =  resobj.data.url;
+				// 					console.log('that.confirmData',that.confirmData);
+				// 				}else{
+				// 					that.$refs.uToast.show({
+				// 						title: resobj.msg,
+				// 						type: 'error'
+				// 					});
+				// 				};
+				// 				console.log('resobj',resobj);
+				// 			},
+				// 			fail: (err) => {
+				// 				that.$refs.uToast.show({
+				// 					title:err.msg,
+				// 					type: 'error'
+				// 				});
+				// 				uni.hideLoading();
+				// 			}
+				// 		});
+				// 	}
+				// });
 			},
 			confirmIn(){
 				let files = [];

+ 52 - 42
pages/ownersquery/ownersquery.vue

@@ -24,6 +24,9 @@
 </template>
 
 <script>
+	//#ifdef APP-PLUS
+	let ocr = uni.requireNativePlugin("OcrPlug");
+	//#endif
 	export default{
 		data(){
 			return{
@@ -44,50 +47,57 @@
 			},
 			getPic(){
 				let that = this;
-				uni.chooseImage({
-					count: 1, //默认9
-					sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
-					sourceType: ['camera'], //
-					success: function (res) {
-						// console.log('img',res)
-						uni.showLoading({});
-						const tempFilePaths = res.tempFilePaths;
-						// 若多选,需循环调用uni.uploadFile ,因微信小程序只支持单文件上传
-						uni.uploadFile({
-							url: `${that.config.fileUrl}/baidu/ocr`,
-							filePath: tempFilePaths[0],
-							name: 'file',
-							formData: {
-								'isUpload': 0  // 上传附带参数
-							},
-							success: (res) => {
-								// 根据接口具体返回格式   赋值具体对应url
-								// alert(uploadFileRes.data);
-								let resobj=eval("("+res.data+")");
-								uni.hideLoading();
-								if(resobj.code==200){
-									console.log(resobj);
-									that.newPlateNumber = resobj.data.vehicleNo;
-									// that.vehicleClor = resobj.data.vehicleClor;
-								}else{
-									that.$refs.uToast.show({
-										title: resobj.msg,
-										type: 'error'
-									});
-								}
-								
-								console.log(res);
-							},
-							fail: (err) => {
-								that.$refs.uToast.show({
-									title:err.msg,
-									type: 'error'
-								});
-								uni.hideLoading();
-							}
-						});
+				ocr.ocrVehicleNo((ret) => {
+					if (ret.success){
+						that.newPlateNumber = ret.vehicleNo;
+					}else {
+						plus.nativeUI.toast('识别失败');
 					}
 				});
+				// uni.chooseImage({
+				// 	count: 1, //默认9
+				// 	sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
+				// 	sourceType: ['camera'], //
+				// 	success: function (res) {
+				// 		// console.log('img',res)
+				// 		uni.showLoading({});
+				// 		const tempFilePaths = res.tempFilePaths;
+				// 		// 若多选,需循环调用uni.uploadFile ,因微信小程序只支持单文件上传
+				// 		uni.uploadFile({
+				// 			url: `${that.config.fileUrl}/baidu/ocr`,
+				// 			filePath: tempFilePaths[0],
+				// 			name: 'file',
+				// 			formData: {
+				// 				'isUpload': 0  // 上传附带参数
+				// 			},
+				// 			success: (res) => {
+				// 				// 根据接口具体返回格式   赋值具体对应url
+				// 				// alert(uploadFileRes.data);
+				// 				let resobj=eval("("+res.data+")");
+				// 				uni.hideLoading();
+				// 				if(resobj.code==200){
+				// 					console.log(resobj);
+				// 					that.newPlateNumber = resobj.data.vehicleNo;
+				// 					// that.vehicleClor = resobj.data.vehicleClor;
+				// 				}else{
+				// 					that.$refs.uToast.show({
+				// 						title: resobj.msg,
+				// 						type: 'error'
+				// 					});
+				// 				}
+								
+				// 				console.log(res);
+				// 			},
+				// 			fail: (err) => {
+				// 				that.$refs.uToast.show({
+				// 					title:err.msg,
+				// 					type: 'error'
+				// 				});
+				// 				uni.hideLoading();
+				// 			}
+				// 		});
+				// 	}
+				// });
 					
 				
 			},