Python Image :: Color Change [Sample]

วันนี้เราจะมาเล่น Python Imaging Library กันนะครับ
ในส่วนของโค้ดผมว่าแค่ดู ก็น่าจะเข้าใจนะครับ เพราะ method ใช้งานง่ายพอสมควรเลย

ภาพนี้เป็นภาพ Original ที่เราจะใช้กันในวันนี้ครับ
ที่นี่คือ Apple Store สาขา Grand Central Terminal



เรามาเริ่มจากการเปลี่ยนภาพเป็น Sepia กัน
ส่วนของ Sepia เนี่ยผมไม่รู้การคำนวณที่แน่นอนนะครับ เรื่องของค่าที่นำมาใช้
พอดีเจอค่าคงที่ นี้มาจาก Internet น่ะครับ

เราก็จะได้ผลลัพธ์ที่เป็นภาพสีแบบนี้ครับ

จากนั้นเราจะเปลี่ยนเป็นแบบ Gray-Scale กันบ้างนะครับ
วิธีการเปลี่ยนก็คือ ปกติรูปของเราจะอยู่ใน RGB Mode
และประกอบไปด้วยแต่ละ Pixel ที่มีค่าสี (Intensity) เป็นลักษณะของแผ่น 3 แผ่นซ้อนกันแบบนี้ครับ

จากนั้นการทำ Gray-Scale เนี่ยคือการลดจาก 3 แผ่นให้เหลือเพียงแผ่นเดียว... (ค่าเดียว)
ง่ายสุดคือการหาค่าเฉลี่ยของแต่ละ Pixel แล้วยัดใส่ให้เท่ากันทั้ง 3 แผ่น (ที่ต้องยัดใส่ทั้ง 3 แผ่นก็เพราะไม่ว่ายังไง Computer ก็แสดงค่าสีเป็น RGB อยู่ดียังไงล่ะ)

ผลลัพธ์ภาพที่ได้ ก็จะเป็นภาพ ขาว-เทา ที่สวยงาม


ต่อไปก็เป็นภาพขาว-ดำ ล่ะนะครับ
ภาพขาว-ดำ ใช้ Concept เดียวกับภาพ ขาว-เทา คือทำให้เหลือแผ่นสีแผ่นเดียว
แต่แผ่นสีแผ่นนั้น จะมีค่าเพียงแค่ 0,1 ใน Binary คือถ้าพูดภาษาสีคือ มีค่าแค่ (0,0,0) หรือ (255,255,255)

ผลลัพธ์ที่ได้ครับ
ในที่นี้ผมใช้ค่าเฉลี่ยนะครับ คือ 127 ค่านี้มีชื่อนะครับ แต่ผมจำไม่ได้แล้ว... 
ส่วนค่าที่ใช้ ทุกอย่างมีที่มาหมดนะครับ แต่ผมขอเรียนก่อน แล้วจะมา Blog ใส่ไว้เรื่อยๆ นะครับ
วิชานี้สนุกดีนะครับ ... ได้รู้อะไรเยอะแยะเลย... 

การเปลี่ยนสีภาพเนี่ย จะเรียกได้ว่าเป็นการทำ Image Compression อย่างนึงก็ได้นะครับ
เพราะการเปลี่ยนสีให้เป็นโทนอื่น ก็แปลว่าใช้สีน้อยลง และ ขนาดก็จะลดลงเช่นเดียวกันด้วย 

Popular posts from this blog

12 วิธี การบริการและดูแลลูกค้าในร้าน Starbucks

[Android Dev] การติดตั้ง Eclipse+AndroidSDK เพื่อพัฒนาโปรแกรมบน Android

"อีสุกอีใส" ประสบการณ์เมื่อต้องมาเป็นตอนอายุ 22