modified logic in ocr

This commit is contained in:
dhanabalan
2025-10-23 15:37:11 +05:30
parent b71fe09498
commit 21c73c4744
2 changed files with 41 additions and 73 deletions

View File

@@ -386,75 +386,47 @@ function cameraCapture() {
// await this.verifyOCR(dataUrl);
// },
// async verify() {
// const filePath = this.$refs.hiddenInput.value; // e.g., "temp/capture_1760764396.jpeg"
// if (!filePath) {
// alert("No captured image found!");
// return;
// }
// try {
// const response = await fetch('/verify-ocr', {
// method: 'POST',
// headers: {
// 'Content-Type': 'application/json',
// 'X-CSRF-TOKEN': '{{ csrf_token() }}'
// },
// body: JSON.stringify({ path: filePath })
// });
// const data = await response.json();
// console.log(data);
// if (data.success) {
// alert("OCR Result: " + data.text);
// console.error(data.text);
// } else {
// alert("OCR Failed: " + data.error);
// console.error(data.error);
// }
// } catch (err) {
// console.error(err.message);
// alert("OCR request failed: " + err.message);
// }
// },
async verify() {
const filePath = this.$refs.hiddenInput.value; // e.g., "temp/capture_1760764396.jpeg"
const filePath = this.$refs.hiddenInput.value; // e.g., "temp/capture_1760764396.jpeg"
if (!filePath) {
alert("No captured image found!");
return;
}
if (!filePath) {
alert("No captured image found!");
return;
}
try {
const response = await fetch('/verify-ocr', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CSRF-TOKEN': '{{ csrf_token() }}'
},
body: JSON.stringify({ path: filePath })
});
try {
const response = await fetch('/verify-ocr', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CSRF-TOKEN': '{{ csrf_token() }}'
},
body: JSON.stringify({ path: filePath })
});
const data = await response.json();
const data = await response.json();
console.log(data);
// if (data.success) {
// alert("OCR Result: " + data.text);
// console.error(data.text);
// }
if (data.success) {
const serials = Array.isArray(data.text) ? data.text.join("\n") : data.text;
alert("OCR Result:\n" + serials);
console.log(serials);
}
else {
alert("OCR Failed: " + data.error);
console.error(data.error);
}
} catch (err) {
console.error(err.message);
alert("OCR request failed: " + err.message);
}
},
if (data.success) {
// data.text is now an array of serials
console.log("Serials:", data.text);
alert("OCR Result:\n" + data.text.join("\n")); // show nicely
} else {
console.error("OCR Error:", data.error);
alert("OCR Failed: " + data.error);
}
} catch (err) {
console.error("OCR request failed:", err.message);
alert("OCR request failed: " + err.message);
}
},
async retakePhoto() {
this.photoTaken = false;

View File

@@ -49,18 +49,14 @@ use thiagoalessio\TesseractOCR\TesseractOCR;
->executable('/usr/bin/tesseract')
->lang('eng')
->psm(6) // treats the image as a block of text
//->config(['tessedit_char_whitelist' => '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'])
->config(['tessedit_char_whitelist' => '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'])
->run();
return response()->json(['success' => true, 'text' => $text]);
// $lines = preg_split('/\r\n|\r|\n/', $text);
// $serials = array_filter(array_map('trim', $lines), fn($line) => preg_match('/^[A-Z0-9]+$/', $line));
//return response()->json(['success' => true, 'text' => $text]);
$lines = preg_split('/\r\n|\r|\n/', $text);
$serials = array_filter(array_map('trim', $lines), fn($line) => preg_match('/^[A-Z0-9]+$/i', $line));
//return response()->json(['success' => true, 'text' => $serials]);
// return response()->json([
// 'success' => true,
// 'text' => array_values($serials), // send as array
// ]);
return response()->json(['success' => true, 'text' => array_values($serials)]);
}
//catch (\Exception $e) {
// return response()->json(['success' => false, 'error' => $e->getMessage()]);