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

29 พฤศจิกายน 2560

Published พฤศจิกายน 29, 2560 by with 1 comment

ใช้ Python ใน .NET Framework ด้วย pythonnet


สวัสดีผู้อ่านทุกท่านครับ หากผู้อ่านเป็นนักพัฒนาที่ใช้ .NET Framework ในการพัฒนาโปรแกรมไม่ว่าจะเป็นภาษา C#, F# และ visual basic เป็นต้น แต่คุณกลับเจอปัญหา คือ ไม่สามารถหาโมดูลใน .NET Framework มาทดแทนได้ ตัวอย่างเช่น PyThaiNLP หรือ คุณต้องการเขียนโค้ดใช้งานทั้ง Python และ .NET Framework คุณสามารถทำได้โดยใช้ pythonnet
Read More

22 พฤศจิกายน 2560

Published พฤศจิกายน 22, 2560 by with 0 comment

ทำ Part-of-speech tagging ด้วย CRF โดยใช้ NLTK

สวัสดีผู้อ่านทุกท่านครับ หากท่านต้องการทำ Part-of-speech tagging ด้วย CRF คงคิดว่ายุุ่งยากไม่ใช่น้อย แต่บทความนี้ผมจะไปพาผู้อ่านไปทำ Part-of-speech tagging ด้วย CRF โดยใช้ NLTK แบบง่าย ๆ กันครับ
Read More

16 พฤศจิกายน 2560

Published พฤศจิกายน 16, 2560 by with 0 comment

NumPy ประกาศแผนการหยุดสนับสนุน Python 2

หลังจากที่ทีมนักพัฒนา Python ได้ประกาศหยุดสนับสนุน Python 2 ในปี ค.ศ.2020 นี้ ส่งผลให้ตอนนี้หลาย ๆ โมดูลและหลายโปรแกรมเริ่มที่จะหยุดสนับสนุน Python 2 แล้ว เช่น โมดูล NumPy เป็นโมดูลด้านคณิตศาสตร์ชื่อดังของภาษา Python ได้ประกาศแผนการหยุดสนับสนุน Python 2 ออกมาแล้ว
Read More
Published พฤศจิกายน 16, 2560 by with 0 comment

Dropbox เปิดตัว PyAnnotate เครื่องมือสำหรับสร้าง Annotation แบบอัตโนมัติสำหรับ mypy

เมื่อวานนี้ตามเวลาในประเทศไทย Dropbox ได้เปิดตัว PyAnnotate ซึ่งเป็นเครื่องมือสำหรับสร้าง Annotation แบบอัตโนมัติสำหรับ mypy
Read More

11 พฤศจิกายน 2560

Published พฤศจิกายน 11, 2560 by with 0 comment

ใช้ Jupyter Notebook ออนไลน์ฟรีด้วย Microsoft Azure Notebooks


หากคุณเป็นนักวิทยาศาสตร์ข้อมูล / นักพัฒนาโปรแกรมที่ใช้งาน Jupyter Notebook  ต้องการใช้งาน Jupyter Notebook แบบออนไลน์ที่รองรับหลายภาษา รวมถึง Python 3 แบบฟรี คุณสามารถใช้งาน Jupyter Notebook ออนไลน์ฟรีได้ด้วย Microsoft Azure Notebooks โดยจำกัดแรมที่ 4 Gb
Read More