วันเสาร์ที่ 3 มกราคม พ.ศ. 2558

สนุกกับ Image Processing ด้วย Python Image Library บน Debian 7.7

        เป็นที่ทราบกันดีว่า Linux ทุกตระกูลเปรียบเสมือนคลังความรู้ที่ผู้ใช้งานคอมพิวเตอร์
ทั้งหลายจะได้มีโอกาสศึกษาการใช้งาน พัฒนาความรู้ความสามารถในการใช้งาน
คอมพิวเตอร์ทั้งในฐานะผู้ใช้งานทั่วไป (End user) โปรแกรมเมอร์โดยใช้ Opensource software
ตั้งมาพร้อมกับระบบปฏิบัติการ Linux หรืออาจะติดตั้งซอฟท์แวร์ต่าง ๆ เพิ่มเติมทีหลังได้
        ภาษาคอมพิวเตอร์ที่ติดตั้งมาพร้อมกับระบบปฏิบัติการ Linux เป็นค่าเริ่มต้น (Default)
เช่น ภาษา C, Perl, Python, Ruby เป็นต้น เราสารมาถประยุกต์เอาภาษาเหล่านี้มาใช้งานได้
เป็นอย่างดี  นอกจากนี้การติดตั้งระบบปฏิบัติการ Linux ที่ทำหน้าที่เป็น Multi users, Multi tasking
จะทำให้ผู้บริหารระบบลดเวลาในการจัดการคอมพิวเตอร์ และระบบเครือข่ายคอมพิวเตอร์
ลงได้เป็นอย่างดี ระบบปฏิบัติการ Linux เพียงเครื่องเดียวที่ทำหน้าที่เป็นเซิร์ฟเวอร์ (Sever)
สามารถรองรับการใช้งานของคอมพิวเตอร์ในเครือข่ายได้เป็นอย่างดี ซึ่งเป็นไปตามหลัก
ของระบบเครือข่ายคอมพิวเตอร์ที่มีการใช้ฮาร์ดแวร์ ซอฟท์แวร์ และ เครือข่ายร่วมกัน
(Hardware, Software and Network sharing)
        การประมวลผลภาพ (Image Processing) เป็นการเขียนโปรแกรมคอมพิวเตอร์เพื่อ
ประมวลผลภาพสำหรับการประยุกต์ใช้งานในด้านต่าง ๆ เช่น การแพทย์ คณิตศาสตร์และ
สถิติชั้นสูง วิศวกรรมคอมพิวเตอร์ และวิศวกรรมไฟฟ้า เป็นต้น การประมวลผลภาพเป็น
สาขาการวิจัยที่กำลังได้รับความนิยมในการศึกษาเป้นงานวิจัย วิทยานิพนธ์ ในสาขาที่กล่าว
มาข้างต้น
        ภาษาไพธอน (Python) เป็นภาษาคอมพิวเตอร์ระดับสูงที่นิยมนำมาใช้ในการเขียน
โปรแกรมเพื่อประมวลผลภาพ โดยจะใช้งานร่วมกับชุดโปรแกรมประมวผลภาพ (Libray)
ต่าง ๆ ชุดโปรแกรมที่ได้รับความนิยมในการประมวลผลภาพด้วยภาษาไพธอน คือ
Pythom Image Library (PIL) PIL ใช้งานง่ายด้วยคำสั่งที่เข้าใจง่ายของภาษาไพธอน
        ในที่นี้ผุ้เขียนขอยกตัวอย่างการประมวลผลภาพด้วยภาษาไพธอน ด้วย PIL บน
ระบบปฏิบัติการ Debina 7.7 ที่ติดตั้งภาษาไพธอน และ PIL มาให้เป็นค่าตั้งต้น เราสามารถ
เรียกใช้งานได้ทันที  มาลองใช้งานกันเลยครับ

        เนื่องจากภาษาไพธอนต้องเขียนโปรแกรมด้วยเท็กซ์โหมด (Text mode) ดังนั้นโปรแกรม
ที่ที่เราจะจะใช้ติดต่อกับภาษาไพธอน คือ Terminal ซึ่งมีอยู่แล้วในระบบปฏิบัติลินุกซ์  ถ้า
ท่านใดใช้ระบบ Remote access จากระบบปฏิบัติการอื่น เช่น Windows โปรแกรมที่ใช้ติดต่อกับ
ระบบปฏิบัติการ Linux ได้ เช่น Putty เป็นต้น
        ผู้เขียนต้องการเก็บภาพที่ต้องการนำมาประมวลผลไว้ที่โฟลเดอร์ images  เพื่อความ
สะดวกในการเขียนโปรแกรม เมื่อเปิดโปรแกรม Terminal แล้วก้เปิดโฟลเดอร์ที่ภาพเก็บอยู่
เลย ดังตัวอย่าง



submarine@Debian77:~$ cd images/
submarine@Debian77:~/images$ ls
submarine.jpg  terminal.png
submarine@Debian77:~/images$

        ในโฟลเดอร์ images มีภาพอยู่สองภาพ  ต่อไปเรียกใช้งานภาษาไพธอนซึ่งมี PIL พร้อม
จะใช้งานในการประมวลผลภาพได้ทันที ดังตัวอย่าง

submarine@Debian77:~/images$ python
Python 2.7.3 (default, Mar 14 2014, 11:57:14)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

        ต่อไปนี้เป็นการเรียกใช้งานชุดโปรแกรมประมวลผลภาพ PIL บนภาษาไพธอน โดย
จะโหลดภาพชื่อ submarine.jpg และแสดงผล




        ตัวอย่างข้างล่างนี้เป็นการสั่งหมุนภาพ 45 องศา



        ตัวอย่างต่อไปนี้เป็นคำสั่งในการประมวลผลภาพให้เป็นภาพขาวดำ (Convert)



       การประมวลผลภาพยังมีรายละเอียดเพิ่มเติมอีกมากที่กล่าวมาเป็นเพียงการใช้คำสั่ง
เบื้องต้น ทำให้เราทราบว่าภาษาไพธอน และชุดโปรแกรมประมวลผลภาพ PIL สามารถ
เรียกใช้งานได้ง่าย  การประมวลภาพขั้นสูงจำเป็นต้องศึกษาทฤษฎีทางคณิตศาสตร์ เช่น
เมตริกซ์ แนวคิดที่สำคัญ ๆ จากงานวิจัยที่เกี่ยวข้อง  อย่างไรก็ตามท่านสามารถศึกษา
การใช้คำสั่งเพื่อการประมวลผลภาพด้วยภาษาไพธอน และชุดโปรแกรมประมวลผลภาพ
ได้ที่ http://effbot.org/imagingbook หรือเว็บไซต์อื่น ๆ ที่มีอยู่เป็นจำนวนมาก



ไม่มีความคิดเห็น:

แสดงความคิดเห็น