โดยปกติแล้ว การแปลงภาพจากพื้นที่สีหนึ่งไปเป็นอีกพื้นที่หนึ่งนั้น มักจะใช้เพื่อให้พื้นที่สีที่ได้รับมาใหม่สามารถพิสูจน์ได้ว่าเป็นอินพุตที่ดีกว่าเพื่อดำเนินการอื่นๆ บนพื้นที่สีนั้น ซึ่งรวมถึงการแยกเฉดสี ความส่องสว่าง ระดับความอิ่มตัว และอื่นๆ
เมื่อแสดงภาพโดยใช้การแสดง 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()
ผลลัพธ์
คำอธิบาย
- นำเข้าไลบรารีที่จำเป็น
- เส้นทางที่จัดเก็บภาพถูกกำหนดไว้
- ฟังก์ชัน 'imread' ใช้เพื่อเข้าชมเส้นทางและอ่านรูปภาพ
- ใช้ฟังก์ชัน 'imshow' เพื่อแสดงรูปภาพบนคอนโซล
- ฟังก์ชัน 'rgb2hsv' ใช้เพื่อแปลงรูปภาพจากปริภูมิสี RGB เป็นปริภูมิสี HSV
- ไลบรารี matplotlib ใช้เพื่อพล็อตข้อมูลนี้ และแสดงรูปภาพต้นฉบับและรูปภาพหลังจากแปลงเป็นพื้นที่สี HSV
- แสดงบนคอนโซล