จะรับค่า RGB ของพิกเซลในภาพด้วยหมอนได้อย่างไร?

Jul 08, 2025

ฝากข้อความ

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

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

เริ่มต้นด้วยหมอน

สิ่งแรกสิ่งแรกคุณต้องติดตั้งหมอน หากคุณยังไม่ได้ติดตั้งคุณสามารถติดตั้งได้โดยใช้ PIP เพียงเปิดเทอร์มินัลหรือคำสั่งของคุณและพิมพ์:

PIP ติดตั้งหมอน

เมื่อคุณติดตั้งหมอนแล้วคุณก็พร้อมที่จะเริ่มเล่นกับภาพ

กำลังโหลดรูปภาพ

ขั้นตอนแรกในการรับค่า RGB ของพิกเซลคือการโหลดภาพลงในสคริปต์ Python ของคุณ นี่คือวิธีที่คุณทำได้:

จากการนำเข้า PIL Image # เปิดไฟล์รูปภาพ image = image.open ('your_image.jpg')

แทนที่'your_image.jpg'ด้วยเส้นทางที่แท้จริงไปยังภาพที่คุณต้องการทำงานด้วย หากภาพอยู่ในไดเรกทอรีเดียวกับสคริปต์ Python ของคุณคุณสามารถใช้ชื่อไฟล์ได้

ทำความเข้าใจกับพิกเซลและ RGB

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

Memory Foam PillowHousehold Pillow

ในหมอนสีของแต่ละพิกเซลจะแสดงเป็น tuple ของจำนวนเต็มสามจำนวน จำนวนเต็มแรกแสดงถึงความเข้มของสีแดง (ตั้งแต่ 0 ถึง 255) ที่สองหมายถึงสีเขียวและที่สามแสดงถึงสีน้ำเงิน ตัวอย่างเช่น tuple(255, 0, 0)หมายถึงสีแดงบริสุทธิ์(0, 255, 0)หมายถึงสีเขียวบริสุทธิ์และ(0, 0, 255)หมายถึงสีน้ำเงินบริสุทธิ์

รับค่า RGB ของพิกเซลเดียว

ตอนนี้คุณได้โหลดภาพและเข้าใจพิกเซลและ RGB แล้วขอให้ได้ค่า RGB ของพิกเซลเดียว คุณสามารถทำได้โดยการระบุพิกัดของพิกเซลที่คุณต้องการตรวจสอบ พิกัดจะได้รับเป็น tuple ของสองจำนวนเต็ม:(x, y), ที่ไหนxเป็นตำแหน่งแนวนอนและและคือตำแหน่งแนวตั้ง

# รับความกว้างและความสูงของความกว้างของภาพความสูง = image.size # เลือกพิกัดพิกเซล x = 100 y = 200 # ตรวจสอบให้แน่ใจว่าพิกัดอยู่ภายในขอบเขตของภาพถ้า x <ความกว้างและ y <ความสูง: # รับค่า RGB ของพิกเซล r, g, b = image.getpixel (x, y) ({r}, {g}, {b}) ") อื่น: พิมพ์ (" พิกัดที่ระบุอยู่นอกขอบเขตของภาพ ")

ในตัวอย่างนี้เราได้รับค่า RGB ของพิกเซลที่ตำแหน่ง(100, 200)- ก่อนอื่นเราตรวจสอบว่าพิกัดอยู่ในขอบเขตของภาพเพื่อหลีกเลี่ยงข้อผิดพลาดหรือไม่ หากเป็นพวกเขาเราจะใช้ไฟล์getPixel ()วิธีการรับค่า RGB ของพิกเซลและพิมพ์ออกมา

วนรอบพิกเซลทั้งหมด

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

# วนรอบพิกเซลทั้งหมดในภาพสำหรับ y ในช่วง (ความสูง): สำหรับ x ในช่วง (ความกว้าง): r, g, b = image.getPixel ((x, y)) # คุณสามารถทำอะไรบางอย่างกับค่า RGB ที่นี่ (f "ค่า RGB ที่พิกเซล ({x}, {y}): (

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

การทำงานกับโหมดรูปภาพที่แตกต่างกัน

ภาพบางภาพไม่ได้ใช้โหมดสี RGB ภาพบางภาพอาจใช้โหมดอื่น ๆ เช่นสีเทาหรือสีที่จัดทำดัชนี หากคุณทำงานกับรูปภาพในโหมดอื่นคุณอาจต้องแปลงเป็น RGB ก่อนที่จะได้รับค่า RGB

# ตรวจสอบโหมดภาพถ้า image.mode! = 'rgb': # แปลงภาพเป็นโหมด RGB image = image.convert ('rgb')

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

บทสรุป

คุณมีมัน! นั่นคือวิธีที่คุณจะได้รับค่า RGB ของพิกเซลในภาพที่มีหมอน มันเป็นกระบวนการที่ค่อนข้างง่ายเมื่อคุณรู้พื้นฐาน ไม่ว่าคุณจะเป็นศิลปินดิจิตอลผู้ที่ชื่นชอบการมองเห็นคอมพิวเตอร์หรือเพียงแค่คนที่ชอบเล่นกับภาพหมอนเป็นเครื่องมือที่ยอดเยี่ยมที่มีอยู่ในคลังแสงของคุณ

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

และถ้าคุณอยู่ในตลาดสำหรับหมอนคุณภาพสูงไม่ว่าจะเป็นหมอนในครัวเรือนสำหรับห้องนอนของคุณหรือหมอนเมมโมรี่โฟมเพื่อความสะดวกสบายเป็นพิเศษอย่าลังเลที่จะติดต่อกับการอภิปรายการจัดซื้อ เรามีหมอนหลากหลายเพื่อให้เหมาะกับความต้องการของคุณ

การอ้างอิง

  • เอกสารอย่างเป็นทางการของหมอน
  • เอกสาร Python เกี่ยวกับการประมวลผลภาพ

ส่งคำถาม