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

จะดูค่าพิกเซลของรูปภาพโดยใช้ scikit-learn ใน Python ได้อย่างไร?


การประมวลผลข้อมูลล่วงหน้าโดยทั่วไปหมายถึงงานในการรวบรวมข้อมูลทั้งหมด (ซึ่งรวบรวมจากแหล่งข้อมูลต่างๆ หรือทรัพยากรเดียว) ให้อยู่ในรูปแบบทั่วไปหรือเป็นชุดข้อมูลเดียวกัน (ขึ้นอยู่กับประเภทของข้อมูล)

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

บางครั้ง รูปภาพอาจจัดแนวไม่ถูกต้อง หรืออาจไม่ชัดเจน หรืออาจมีขนาดใหญ่มาก เป้าหมายของการประมวลผลล่วงหน้าคือการขจัดความคลาดเคลื่อนและข้อผิดพลาดเหล่านี้

เพื่อให้ได้พิกเซลของรูปภาพ จะใช้ฟังก์ชันในตัวที่ชื่อว่า 'flatten' หลังจากที่อ่านรูปภาพแล้ว ค่าพิกเซลจะถูกจัดเก็บในรูปแบบของดาต้าเฟรม ฟังก์ชัน 'flatten' ใช้เพื่อแปลงสามมิติของภาพ RGB ให้เป็นมิติเดียว และรับค่าของพิกเซลเป็นดาต้าเฟรม

แทนที่จะพิมพ์ dataframe ทั้งหมด ขนาดของ dataframe จะถูกพิมพ์ ให้เรายกตัวอย่างของการอัปโหลดภาพและรับพิกเซลที่มีอยู่ในภาพเป็นดาต้าเฟรมโดยใช้ไลบรารี scikit-learn -

ตัวอย่าง

from skimage import io
import pandas as pd
path = "path to puppy.PNG"
img = io.imread(path)
print("Image being read")
io.imshow(img)
print("Image printed on console")
my_df = pd.DataFrame(img.flatten())
print("The image pixels dimensions are ")
print(my_df.shape)

ผลลัพธ์

Image being read
Image printed on console
The image pixels dimensions are
(886104, 1)

จะดูค่าพิกเซลของรูปภาพโดยใช้ scikit-learn ใน Python ได้อย่างไร?

คำอธิบาย

  • นำเข้าไลบรารีที่จำเป็น

  • เส้นทางที่จัดเก็บภาพถูกกำหนดไว้

  • ฟังก์ชัน "imread" ใช้เพื่อเข้าชมเส้นทางและอ่านรูปภาพ

  • ฟังก์ชัน 'imshow' ใช้เพื่อแสดงรูปภาพบนคอนโซล

  • ฟังก์ชัน 'flatten' ใช้เพื่อแปลงสามมิติของภาพ RGB ให้เป็นมิติเดียว และรับค่าของพิกเซลเป็นดาต้าเฟรม

  • แทนที่จะพิมพ์ dataframe ที่มีแถวมากเกินไป ขนาดของ dataframe จะแสดงขึ้น

  • สามารถดู dataframe ได้โดยใช้ 'print(my_df)' .

  • เอาต์พุตเป็นดาต้าเฟรมที่มีค่าพิกเซลของภาพที่พิมพ์บนคอนโซล