Scikit-learn หรือที่เรียกกันทั่วไปว่า sklearn เป็นไลบรารี่ใน Python ที่ใช้สำหรับวัตถุประสงค์ในการใช้อัลกอริธึมการเรียนรู้ของเครื่อง
การแปลงภาพจากพื้นที่สีหนึ่งเป็นอีกพื้นที่หนึ่งมักจะใช้เพื่อให้พื้นที่สีที่เพิ่งได้รับสามารถพิสูจน์ได้ว่าเป็นอินพุตที่ดีกว่าเพื่อดำเนินการอื่น ๆ กับภาพนั้น ซึ่งรวมถึงการแยกเฉดสี ความส่องสว่าง ระดับความอิ่มตัวของสี และอื่นๆ เมื่อแสดงภาพโดยใช้การแสดง RGB แอตทริบิวต์ hue และ luminosity จะแสดงเป็นการผสมผสานเชิงเส้นของช่อง R, G และ B
เมื่อพยายามแปลงรูปภาพที่มีปริภูมิสี RGB เป็นระดับสีเทา ค่าพิกเซลจะถูกคำนวณเป็นผลรวมถ่วงน้ำหนักของพิกเซลสีแดง สีเขียว และสีน้ำเงิน แสดงสมการด้านล่าง -
Y = 0.2125 R + 0.7154 G + 0.0721 B
ตุ้มน้ำหนักเหล่านี้ได้รับการจัดเตรียมไว้โดยเฉพาะ เนื่องจากสารเรืองแสง CRT เหล่านี้ใช้ซึ่งแสดงถึงการรับรู้ของมนุษย์เกี่ยวกับสีแดง สีเขียว และสีน้ำเงินได้ดีกว่า เมื่อเทียบกับการให้น้ำหนักที่เท่ากันสำหรับทั้งสามค่า
ให้เราดูว่าภาพ RGB สามารถแปลงเป็นภาพระดับสีเทาได้อย่างไร -
ตัวอย่าง
from skimage import io import matplotlib.pyplot as plt from skimage import data from skimage.color import rgb2gray from skimage import data path = "path to puppy_1.JPG" orig_img = io.imread(path) grayscale_img = rgb2gray(orig_img) fig, axes = plt.subplots(1, 2, figsize=(8, 4)) ax = axes.ravel() ax[0].imshow(orig_img) ax[0].set_title("Original image") ax[1].imshow(grayscale_img, cmap=plt.cm.gray) ax[1].set_title("Grayscale image") fig.tight_layout() plt.show()
ผลลัพธ์
คำอธิบาย
- นำเข้าไลบรารีที่จำเป็น
- เส้นทางที่จัดเก็บภาพถูกกำหนดไว้
- ฟังก์ชัน 'imread' ใช้เพื่อเข้าชมเส้นทางและอ่านรูปภาพ
- ใช้ฟังก์ชัน 'imshow' เพื่อแสดงรูปภาพบนคอนโซล
- ฟังก์ชัน 'rgb2gray' ใช้เพื่อแปลงรูปภาพจากพื้นที่สี RGB เป็นพื้นที่สีระดับสีเทา
- ไลบรารี matplotlib ใช้เพื่อพล็อตข้อมูลนี้ และแสดงรูปภาพต้นฉบับและรูปภาพหลังจากแปลงเป็นระดับสีเทา
- แสดงบนคอนโซล