30 ธันวาคม 2560

Published ธันวาคม 30, 2560 by with 1 comment

ใช้งานโค้ด Python ใน Java ง่าย ๆ

สวัสดีผู้อ่านทุกท่านครับ หากผู้อ่านเขียนภาษาจาวา (Java) ต้องการใช้งานไลบารีเฉพาะด้าน แต่กลับพบว่าไลบารีเหล่านั้นมีเฉพาะในภาษาไพทอน (Python) เช่น ไลบารี PyThaiNLP และอื่น ๆ เป็นต้น

บทความนี้จะพาผู้อ่านไปใช้งานโค้ด Python ใน Java ง่าย ๆ ด้วย Jep กันครับ
Read More

28 ธันวาคม 2560

Published ธันวาคม 28, 2560 by with 0 comment

Constructor และ Destructor กับ Class ใน Python

Python เป็นภาษาที่มีการนำหลักการ OOP มาใช้งานเช่นเดียวกับภาษาอื่น ๆ หนึ่งในนั้น คือ เรื่อง Constructor และ Destructor กับ Class
Read More

17 ธันวาคม 2560

Published ธันวาคม 17, 2560 by with 1 comment

Train Haar Cascade กับ opencv ใน Windows

ในการสร้าง Haar-like Classifier จะต้องมีรูปภาพที่ใช้เป็นฐานข้อมูล Haar-like Classifier มี 2 ส่วนดังนี้
  • positive images เป็นรูปภาพของวัตถุที่ต้องการนำมาสร้าง Haar-like Classifier เช่น ใบหน้า ตา และอื่น ๆ
  • negatives images เป็นรูปภาพของวัตถุที่ไม่เกี่ยวข้องกับ positive images เช่น พื้นหลัง เป็นต้น
เรามาลงมือสร้าง Haar-like Classifie

1.ให้กับการโหลดไฟล์บีบอัดจาก https://www.dropbox.com/s/yh4nloobe7a1qc3/haartraining2.zip?dl=0
2.แตกไฟล์แล้วเข้าไปในโฟลเลอร์ที่แตกไฟล์ออกมา ให้เข้าไปยังโฟลเลอร์ positive - > โฟลเลอร์ rawdata
3.เตรียมไฟล์ภาพโดยไฟล์ภาพต้องเป็นไฟล์ .bmp เท่านั้น
4.เสร็จแล้วให้กลับมายังโฟลเลอร์ positive ทำการรันโปรแกรม objectmarker.exe (โปรแกรมนี้รันได้เฉพาะ 32 บิตเท่านั้น) จะมีหน้าต่างขึ้นมาให้ทำการลากคุมวัตถุที่ต้องนำไปสร้าง Haar-like Classifier
โดยกดปุ่ม Space Bar เพิ่มข้อมูลส่วนที่ทำการลากคุมวัตถุ
กดปุ่ม Enter เพิ่มบันทึกข้อมูลและโหลดข้อมูลถัดไป
ทำจนครบจะได้ไฟล์ info.txt
5.กลับยังโฟลเลอร์หลักที่แตกไฟล์ออกมา ให้เข้าไปยังโฟลเลอร์ negative ทำการเพิ่มข้อมูลรูปภาพ .jpg ที่ไม่เกี่ยวข้องกับข้อมูล positive images เช่น ภาพพื้นหลังที่อยู่หลังภาพใบหน้าของเรา เป็นต้น แล้วทำการรันไฟล์ create_list.bat
โค้ดภายในไฟล์ create_list.bat
dir /b *.jpg >bg.txt

จะได้ไฟล์ bg.txt
6.กลับยังโฟลเลอร์หลักที่แตกไฟล์ออกมา ให้ทำการรันไฟล์
โค้ดภายในไฟล์ createsamples.bat
createsamples.exe -info positive/info.txt -vec vector/vector.vec -num 204 -w 24 -h 24

รอสักครู่ขึ้นอยู่กับปริมาณไฟล์ข้อมูลและประสิทธิภาพของเครื่องคอมพิวเตอร์ จะได้ไฟล์ vector.vec ในโฟลเลอร์ vector
7.ทำการรันไฟล์ haarTraining.bat
โค้ดภายในไฟล์ haarTraining.bat
haartraining.exe -data cascades -vec vector/vector.vec -bg negative/bg.txt -npos 200 -nneg 

200 -nstages 15 -mem 1024 -mode ALL -w 24 -h 24 

rem -nonsym

รอสักครู่ขึ้นอยู่กับปริมาณไฟล์ข้อมูลและประสิทธิภาพของเครื่องคอมพิวเตอร์ จะได้ข้อมูล Haar-like Classifier ในโฟลเลอร์ cascades แต่ยังนำไปใช้งานไม่ได้นะครับ ต้องแปลงให้เป็นไฟล์ XML ก่อน
8.ทำการ copy ลากคุมข้อมูลทั้งหมดในโฟลเลอร์ cascades แล้วนำไปวางในโฟลเลอร์ cascade2xml\data เสร็จกลับมาที่โฟลเลอร์ cascade2xml ทำการรันไฟล์ convert.bat
โค้ดภายในไฟล์ convert.bat
haarconv.exe data my.xml 24 24

เพียงเท่านี้ก็จะได้ไฟล์ my.xml ซึ่งเป็น Haar Cascade ไปไว้ใช้ opencv แล้ว
Read More

16 ธันวาคม 2560

Published ธันวาคม 16, 2560 by with 0 comment

นักพัฒนา Ubuntu เตรียมย้าย Python 2 ไปไว้ในคลัง "Universe" ของ Ubuntu 18.04 LTS

Python 2 เหลือระยะเวลาสนับสนุนจากมูลนิธิซอฟต์แวร์ไพทอน (Python Software Foundation) อีกเพียง 2 ปี (ค.ศ.2020) ทำให้วงการ Open Source ที่ใช้งาน Python 2 มาอย่างยาวนานต้องมีการพอร์ตโค้ดจำนวนมากย้ายไป Python 3 แทน และหนึ่งในนั้น คือ Ubuntu
Read More

3 ธันวาคม 2560

Published ธันวาคม 03, 2560 by with 0 comment

เล่นไฟล์เสียง .wav บน Windows ง่าย ๆ ด้วย Python

หากคุณใช้งาน Windows ต้องการเขียนโค้ด Python เพื่อให้เล่นเสียงจากไฟล์ .wav หรือ.wave ได้ง่าย ๆ โดยใช้ไลบารี winsound
Read More