Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การแปลงระหว่างระบบสีด้วย Python (colorsys)

โมเดลสี RGB ชื่อจากตัวอักษรแรกของสีประกอบเพิ่มเติมสามสี เป็นโมเดลสีแบบเพิ่มเติมที่แสงสีแดง เขียว และน้ำเงินถูกเพิ่มเข้าด้วยกันเพื่อสร้างสีต่างๆ

โมเดลสี RGB ใช้ในการแสดงและแสดงภาพในระบบอิเล็กทรอนิกส์ เช่น โทรทัศน์และคอมพิวเตอร์ มันอิงตามการรับรู้สีของมนุษย์ การแทนค่าสีแบบอื่นๆ ได้แก่:

  • YIQ: Luminance, Chrominance (ใช้โดยสัญญาณวิดีโอคอมโพสิต)
  • HLS: Hue, Luminance, Saturation
  • HSV: Hue, Saturation, Value

โมดูล colorsys กำหนดฟังก์ชันสำหรับการแปลงค่าสีระหว่างโมเดลสี RGB และระบบพิกัดอีกสามระบบ ในโมเดล YIQ ค่า Y อยู่ระหว่าง 0 และ 1 แต่ค่า I และ Q อาจเป็นบวกหรือลบ ในโมเดล RGB, HLS และ HSV ค่าทั้งหมดอยู่ระหว่าง 0 และ 1

โมดูลนี้ให้ฟังก์ชันสองฟังก์ชันสำหรับแต่ละระบบสี เพื่อแปลงไป RGB และกลับมา

rgb_to_yiq()แปลง RGB เป็น YIQ
yiq_to_rgb()แปลง YIQ เป็น RGB
rgb_to_hls()แปลง RGB เป็น HLS
hls_to_rgb()แปลง HLS เป็น RGB
rgb_to_hsv()แปลง RGB เป็น HSV
hsv_to_rgb()แปลง HSV เป็น RGB

ตัวอย่าง

>> import colorsys
>>> r, g, b = 1, 0.753, 0.80
>>> colorsys.rgb_to_hls(r, g, b)
(0.9682860998650472, 0.8765000000000001, 1.0)
>>> colorsys.rgb_to_hsv(r, g, b)
(0.9682860998650472, 0.247, 1)
>>> colorsys.rgb_to_yiq(r, g, b)
(0.83227, 0.1328331, 0.06727970000000007)