Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > สอบถามว่า ต้องเขียน Code ด้วยวิธีไหน จึงจะรองรับกับระบบ Tesseract.js v2.1.4 ของ PHP ได้ เนื่องจากแก้ไข Code จาก https://www.thaicreate.com/php/forum/135293.html ตรงที่ความคิดเห็นที่ 5 ของคุณพระยาเทพแล้ว ค้างที่หน้า initialized api ครับ


[PHP] สอบถามว่า ต้องเขียน Code ด้วยวิธีไหน จึงจะรองรับกับระบบ Tesseract.js v2.1.4 ของ PHP ได้ เนื่องจากแก้ไข Code จาก https://www.thaicreate.com/php/forum/135293.html ตรงที่ความคิดเห็นที่ 5 ของคุณพระยาเทพแล้ว ค้างที่หน้า initialized api ครับ

 
Topic : 135891



โพสกระทู้ ( 131 )
บทความ ( 14 )



สถานะออฟไลน์



สอบถามว่า ต้องเขียน Code ด้วยวิธีไหน จึงจะรองรับกับระบบ Tesseract.js v2.1.4 ของ PHP ได้ เนื่องจากแก้ไข Code จาก https://www.thaicreate.com/php/forum/135293.html ตรงที่ความคิดเห็นที่ 5 ของคุณพระยาเทพแล้ว ค้างที่หน้า initialized api ครับ

Code ทั้งหมด มีดังนี้ครับ

1. Code ที่แก้ไขจาก https://www.thaicreate.com/php/forum/135293.html ตรงที่ความคิดเห็นที่ 5 ของคุณพระยาเทพแล้ว ค้างที่หน้า initialized api ครับ

01.<!doctype html>
02.<html>
03.<head>
04.  <title>ทดสอบ Tesseract.js 3</title>
05.</head>
06.<body>
07.<p id="status"></p>
08.<script src='https://unpkg.com/tesseract.js@v2.1.4/dist/tesseract.min.js'></script>
09.<!-- <script src="https://cdn.jsdelivr.net/npm/tesseract.js@2.1.1/dist/tesseract.min.js"></script> -->
10.<script>
11.    var sta = document.getElementById("status");
12.    const recogImage = 'https://i.postimg.cc/htLqR6MV/test-ocr-2021.jpg';
13.    /*
16.    */
17. 
18.    const worker = Tesseract.createWorker({
19.      logger: m => sta.innerHTML = m.status
20.    });
21.    Tesseract.setLogging(true);
22.    work();
23. 
24.    async function work() {
25.      await worker.load();
26.      await worker.loadLanguage('eng+tha');
27.      await worker.initialize('eng+tha');
28. 
29.      //let result = await worker.detect(recogImage);
30.      //console.log(result.data);
31. 
32.      let result = await worker.recognize(recogImage);
33.      sta.innerHTML = result.data.text;
34. 
35.      await worker.terminate();
36.    }
37.     
39.</script>
40.</body>
41.</html>


2. Link ที่วาง Code ที่แก้ไขจาก https://www.thaicreate.com/php/forum/135293.html ตรงที่ความคิดเห็นที่ 5 ของคุณพระยาเทพแล้ว ค้างที่หน้า initialized api ที่เว็บ W3Schools ครับ

https://www.w3schools.com/code/tryit.asp?filename=GNHBG0SDI3L4

3. ภาพที่ยืนยันเหตุการณ์ เรื่อง Code ที่แก้ไขจาก https://www.thaicreate.com/php/forum/135293.html ตรงที่ความคิดเห็นที่ 5 ของคุณพระยาเทพแล้ว ค้างที่หน้า initialized api ครับ

error tesseract code

4. Link ของ Tesseract.js v2.1.4 รุ่นล่าสุด ว่ามีให้ใช้งานจริงแล้วครับ

https://unpkg.com/tesseract.js@2.1.4/dist/tesseract.min.js

5. Link แจ้งข่าวออกรุ่น ของ Tesseract.js ผ่านทาง GitHub ที่บอกถึง Tesseract.js v2.1.4 รุ่นล่าสุด ครับ

https://github.com/naptha/tesseract.js/releases



Tag : PHP, HTML, HTML5, JavaScript, XAMPP, Windows



ประวัติการแก้ไข
2021-02-09 14:38:07
2021-02-09 14:40:17
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2021-02-09 14:30:01 By : doanga2007 View : 1228 Reply : 6
 

 

No. 1



โพสกระทู้ ( 210 )
บทความ ( 0 )



สถานะออฟไลน์


ลองวาร์ปเข้าไปดูแล้วพบว่าโฮสรูปที่ใช้ไม่เปิด CORS
ถ้าต้องการแค่ทดสอบอัปรูปขึ้นโอสใหม่ที่สนับสนุน CORS

คิดไม่ออกใช้ imgur ตามตัวอย่าง


เมื่อนำไปใช้จริงควรใช้ internal assets โดยอัปรูปขึ้นโฮสของตัวเองเพื่อให้มันเป็น same origin
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-02-09 15:17:18 By : lakornworld
 

 

No. 2



โพสกระทู้ ( 131 )
บทความ ( 14 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : lakornworld เมื่อวันที่ 2021-02-09 15:17:18
รายละเอียดของการตอบ ::
ผมได้ Check Code แบบ Tesseract.js v2.1.0 ก่อนแก้ไข Code แล้ว ระบบทำงานได้ตามปกติ ไม่น่าเกี่ยวข้องกับ โฮสรูปที่ใช้ไม่เปิด CORS ครับ

Code ทั้งหมด มีดังนี้ครับ

1. Code แบบ Tesseract.js v2.1.0 ก่อนแก้ไข Code ครับ

01.<!doctype html>
02.<html>
03.<head>
04.  <title>ทดสอบ Tesseract.js 3</title>
05.</head>
06.<body>
07.<p id="status"></p>
08.<script src='https://unpkg.com/tesseract.js@v2.1.0/dist/tesseract.min.js'></script>
09.<!-- <script src="https://cdn.jsdelivr.net/npm/tesseract.js@2.1.1/dist/tesseract.min.js"></script> -->
10.<script>
11.    var sta = document.getElementById("status");
12.    const recogImage = 'https://i.postimg.cc/htLqR6MV/test-ocr-2021.jpg';
13.    /*
16.    */
17. 
18.    const worker = Tesseract.createWorker({
19.      logger: m => sta.innerHTML = m.status
20.    });
21.    Tesseract.setLogging(true);
22.    work();
23. 
24.    async function work() {
25.      await worker.load();
26.      await worker.loadLanguage('eng+tha');
27.      await worker.initialize('eng+tha');
28. 
29.      //let result = await worker.detect(recogImage);
30.      //console.log(result.data);
31. 
32.      let result = await worker.recognize(recogImage);
33.      sta.innerHTML = result.data.text;
34. 
35.      await worker.terminate();
36.    }
37.     
39.</script>
40.</body>
41.</html>


2. Link ที่วาง Code ที่แก้ไขจาก https://www.thaicreate.com/php/forum/135293.html ตรงที่ความคิดเห็นที่ 5 ของคุณพระยาเทพแล้ว ค้างที่หน้า initialized api ที่เว็บ W3Schools ครับ

https://www.w3schools.com/code/tryit.asp?filename=GNHE9VR1E28Y

3. ภาพที่ยืนยันเหตุการณ์ เรื่อง Code แบบ Tesseract.js v2.1.0 ก่อนแก้ไข Code ว่า ระบบทำงานได้ตามปกติ ครับ

tesseract code before

4. รูปที่ใช้ในการทดสอบเรื่อง OCR ของ Code นี้ ครับ

test ocr 2021 picture




ประวัติการแก้ไข
2021-02-09 16:05:24
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-02-09 16:04:43 By : doanga2007
 

 

No. 3



โพสกระทู้ ( 210 )
บทความ ( 0 )



สถานะออฟไลน์


ผิดครับ รีบตอบไปหน่อย image host ดังกล่าว มีการเปิด cross origin

แต่ปัญหาอยู่ที่ library (2.1.2+) มีการเปลี่ยน procedure การนำเข้ารูปภาพจาก external resources
ซึ่งจะติดตรงการแปลงเป็น Blob object ผ่าน canvas ...ดีที่สุดคือใช้ของเดิมไป (ล่าสุดที่ทำงานได้ 2.1.1) ในขณะรอการแก้ไข
ตามที่แจ้งไปแล้ว https://github.com/naptha/tesseract.js/issues/514#issue-803733847

ทางเลือก 2 โหลด Library มาไว้ในโดเมนเดียวกันกับโปรเจคและรูปภาพเพื่อเป็น same origin

เพราะถ้าลงลึกในระดับ library ปัญหาก็ยังคงเป็น CORS ...วิธี 3 ก็แก้ source code ส่วนที่มีปัญหาให้เหมือน 2.1.0, 2.1.1

หรือ 4
ลองส่ง image parameter แบบ Blob object เข้าไปในเมธอด recognize() แทน URL ตรงๆ
โดยกำหนด crossOrigin ของรูปภาพ เป็น Anonymous ด้วย

https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image




3, 4 ใช้เวลานาน&พลังงานสูง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-02-10 11:18:23 By : lakornworld
 

 

No. 4



โพสกระทู้ ( 131 )
บทความ ( 14 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : lakornworld เมื่อวันที่ 2021-02-10 11:18:23
รายละเอียดของการตอบ ::
ขอบคุณครับ สำหรับข้อมูล ลองใช้ ทางเลือก 2 โหลด Library มาไว้ในโดเมนเดียวกันกับโปรเจคและรูปภาพเพื่อเป็น same origin แล้ว ผลสรุปว่า แก้ปัญหาเรื่อง ค้างที่หน้า initialized api แล้ว เหลือแต่เรื่องความแม่นยำของตัว Tesseract.js v2.1.4 แล้วครับ

Code ทั้งหมด มีดังนี้ครับ

1. Code ที่แก้ปัญหาเรื่อง ค้างที่หน้า initialized api แล้ว เหลือแต่เรื่องความแม่นยำของตัว Tesseract.js v2.1.4 ครับ

01.<!doctype html>
02.<html>
03.<head>
04.  <title>ทดสอบ Tesseract.js 4</title>
05.</head>
06.<body>
07.<p id="status"></p>
09.<script>
10.    var sta = document.getElementById("status");
11.     
12.    /* Code to crossOrigin = anonymous */
13.    var recogImage = new Image;
14.    recogImage.crossOrigin = "anonymous"; /* THIS WILL MAKE THE IMAGE CROSS-ORIGIN */
15.    recogImage.src = "http://localhost/ocrtest2021/test-ocr-2021.jpg";
16. 
17.    const worker = Tesseract.createWorker({
18.      logger: m => sta.innerHTML = m.status
19.    });
20.    Tesseract.setLogging(true);
21.    work();
22. 
23.    async function work() {
24.      await worker.load();
25.      await worker.loadLanguage('eng+tha');
26.      await worker.initialize('eng+tha');
27. 
28.      //let result = await worker.detect(recogImage);
29.      //console.log(result.data);
30. 
31.      let result = await worker.recognize(recogImage);
32.      sta.innerHTML = result.data.text;
33. 
34.      await worker.terminate();
35.    }
36.     
38.</script>
39.</body>
40.</html>


2. Link โหลดไฟล์ Code ทั้งหมด ที่ใช้ในระบบ XAMPP แล้ว แก้ปัญหาเรื่อง ค้างที่หน้า initialized api แล้ว เหลือแต่เรื่องความแม่นยำของตัว Tesseract.js v2.1.4 ครับ

https://drive.google.com/file/d/1ukd7DuMUDUDme_Ty764oQCR8yStbHXwB/view?usp=sharing

3. ภาพที่ยืนยัน เรื่อง Code ที่แก้ปัญหาเรื่อง ค้างที่หน้า initialized api แล้ว เหลือแต่เรื่องความแม่นยำของตัว Tesseract.js v2.1.4 ที่ยังไม่แม่นตามรูปภาพตัวอย่าง ครับ

error tesseract code 2




ประวัติการแก้ไข
2021-02-10 16:00:35
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-02-10 15:56:32 By : doanga2007
 

 

No. 5



โพสกระทู้ ( 210 )
บทความ ( 0 )



สถานะออฟไลน์


ผมว่าปัญหาหลัก คือการจัดการพวก whitespaces หรือช่องว่างที่ต่างกันระหว่างภาษา ถ้าลองทำภาษาเดียวและลบ spaces ภาษาไทยจะถอดออกมาได้ถูกต้อง


in
in

Code (JavaScript)
01.<!doctype html>
02.<html>
03.<head>
04.  <title>ทดสอบ Tesseract.js 2.1.1 เฉพาะภาษาไทย</title>
05.</head>
06.<body>
07.<p id="status"></p>
08.<script src='https://unpkg.com/tesseract.js@v2.1.1/dist/tesseract.min.js'></script>
09.<!-- <script src="https://cdn.jsdelivr.net/npm/tesseract.js@2.1.1/dist/tesseract.min.js"></script> -->
10.<script>
11.    var sta = document.getElementById("status");
12.    const recogImage = 'https://i.imgur.com/UVdM9VW.png'; // only Thai content
13.    /*
16.    */
17. 
18.    const worker = Tesseract.createWorker({
19.      logger: m => sta.innerHTML = m.status
20.    });
21.    Tesseract.setLogging(true);
22.    work();
23. 
24.    async function work() {
25.      await worker.load();
26.      await worker.loadLanguage('eng+tha'); // tha อย่างเดียวก็ได้
27.      await worker.initialize('eng+tha');
28. 
29.      //let result = await worker.detect(recogImage);
30.      //console.log(result.data);
31. 
32.      let result = await worker.recognize(recogImage);
33.      sta.innerHTML = result.data.text.replaceAll(' ','');  // remove literal spaces
34. 
35.      await worker.terminate();
36.    }
37.     
39.</script>
40.</body>
41.</html>



results
out


https://www.w3schools.com/code/tryit.asp?filename=GNIKZJW6UYQ0
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-02-10 16:48:31 By : lakornworld
 

 

No. 6



โพสกระทู้ ( 131 )
บทความ ( 14 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : lakornworld เมื่อวันที่ 2021-02-10 16:48:31
รายละเอียดของการตอบ ::
ขอบคุณครับ สำหรับข้อมูลเพิ่มเติม ซึ่งปัญหาเรื่อง การจัดการพวก whitespaces หรือช่องว่างที่ต่างกันระหว่างภาษา ตั้งแต่ 2 ภาษาขึ้นไปนั้น ผมได้แจ้ง Bug ซึ่งอธิบายตาม Link : https://github.com/naptha/tesseract.js/issues/515 และรอการแก้ไขอยู่ครับ

ซึ่ง ณ ปัจจุบันนี้ ก็ต้องค้นหาวิธีแก้ source code ให้มีความแม่นยำในการ OCR ภาษาไทย + ภาษาอังกฤษ ภายในรูปภาพ ของตัว Tesseract.js v2.1.4 มากขึ้น ให้ได้ครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-02-10 21:40:44 By : doanga2007
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามว่า ต้องเขียน Code ด้วยวิธีไหน จึงจะรองรับกับระบบ Tesseract.js v2.1.4 ของ PHP ได้ เนื่องจากแก้ไข Code จาก https://www.thaicreate.com/php/forum/135293.html ตรงที่ความคิดเห็นที่ 5 ของคุณพระยาเทพแล้ว ค้างที่หน้า initialized api ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่