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

พื้นที่สี RGB สามารถแปลงเป็นพื้นที่สีอื่นใน Python ได้อย่างไร


โดยปกติแล้ว การแปลงภาพจากพื้นที่สีหนึ่งไปเป็นอีกพื้นที่หนึ่งนั้น มักจะใช้เพื่อให้พื้นที่สีที่ได้รับมาใหม่สามารถพิสูจน์ได้ว่าเป็นอินพุตที่ดีกว่าเพื่อดำเนินการอื่นๆ บนพื้นที่สีนั้น ซึ่งรวมถึงการแยกเฉดสี ความส่องสว่าง ระดับความอิ่มตัว และอื่นๆ

เมื่อแสดงภาพโดยใช้การแสดง RGB แอตทริบิวต์ hue และ luminosity จะแสดงเป็นการผสมผสานเชิงเส้นของช่อง R, G และ B

เมื่อรูปภาพแสดงโดยใช้การแสดง HSV (ในที่นี้ H หมายถึง Hue และ V หมายถึง Value) RGB จะถือเป็นช่องสัญญาณเดียว

นี่คือตัวอย่างการแปลงพื้นที่สี RGB เป็น HSV -

ตัวอย่าง

import matplotlib.pyplot as plt
from skimage import data
from skimage.color import rgb2hsv
path = "path to puppy_1.JPG"
img = io.imread(path)
rgb_img = img
hsv_img = rgb2hsv(rgb_img)
value_img = hsv_img[:, :, 2]
fig, (ax0, ax1) = plt.subplots(ncols=2, figsize=(8, 2))
ax0.imshow(rgb_img)
ax0.set_title("Original image")
ax0.axis('off')
ax1.imshow(value_img)
ax1.set_title("Image converted to HSV channel")
ax1.axis('off')
fig.tight_layout()

ผลลัพธ์

พื้นที่สี RGB สามารถแปลงเป็นพื้นที่สีอื่นใน Python ได้อย่างไร

คำอธิบาย

  • นำเข้าไลบรารีที่จำเป็น
  • เส้นทางที่จัดเก็บภาพถูกกำหนดไว้
  • ฟังก์ชัน 'imread' ใช้เพื่อเข้าชมเส้นทางและอ่านรูปภาพ
  • ใช้ฟังก์ชัน 'imshow' เพื่อแสดงรูปภาพบนคอนโซล
  • ฟังก์ชัน 'rgb2hsv' ใช้เพื่อแปลงรูปภาพจากปริภูมิสี RGB เป็นปริภูมิสี HSV
  • ไลบรารี matplotlib ใช้เพื่อพล็อตข้อมูลนี้ และแสดงรูปภาพต้นฉบับและรูปภาพหลังจากแปลงเป็นพื้นที่สี HSV
  • แสดงบนคอนโซล