ตัวอย่างการใช้งานโมดูล Numpy กับ CV2 เรื่องเปิดภาพแล้วแสดงผลลัพธ์เป็นภาพสีเทา

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

 

ติดตั้งโมดูล numpy ด้วยระบบปฏิบัติการ Windows

pip install numpy 

 

ส่วนโมดูล cv2 ใช้คำสั่งตามด้านล่างและตัวโมดูลนี้รองรับการทำงานกับ python3

pip install opencv-python

 

Input

import cv2

# โหลดรูปภาพ rocket-405543_960_720.png ในโหมดสีเทาตัวภาพนั้นต้องอยู่ที่เดียวกันกับโค้ดมิฉะนั้นจะไม่สามารถทำงานต่อได้
img = cv2.imread('rocket-405543_960_720.png',cv2.IMREAD_GRAYSCALE)
# เปิดโชว์ภาพขึ้นมาแสดง
cv2.imshow('image',img)
cv2.waitKey(0)
# เปิดโชว์วัตถุขึ้นมาแสดงโดยจะมีการทำงานของ OpenCV กับ Python
cv2.destroyAllWindows()
# ทำการเซฟภาพใหม่หลังจากที่เราทำการแปลงภาพเป็นสีเทาแล้วจะให้เรากำหนดชื่อที่จะเซฟภาพใหม่
cv2.imwrite('img2.png',img)

Output

ตัวภาพที่แสดงอยู่เป็นภาพจากไฟล์ต้นฉบับก่อนที่จะแปลงภาพเป็นสีเทา
ภาพที่แสดงเป็นภาพต้นฉบับ
คำสั่ง IMREAD_GRAYSCALE ใช้ในการแปลงภาพเป็นสีเทา
ภาพที่แสดงอยู่เป็นภาพที่ถูกแปลงเป็นสีเทา

 

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

 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : ตัวอย่างการใช้งานโมดูล Numpy กับ CV2 เรื่องเปิดภาพแล้วแสดงผลลัพธ์เป็นภาพสีเทา

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
เซ็นเซอร์ตรวจจับเสียง เอาไปใช้ทำอะไรได้บ้าง ทำโปรเจ็ค IOT
โดย Anonymous ส 30 ธ.ค. 2023 4:28 am บอร์ด IOT - Internet of things
2
809
ส 30 ธ.ค. 2023 10:48 pm โดย mindphp View Topic เซ็นเซอร์ตรวจจับเสียง เอาไปใช้ทำอะไรได้บ้าง ทำโปรเจ็ค IOT
มีเว็บที่เปิดเป็น localhost ใช้งานได้อยู่ มีวิธีไหนบ้างครับ ที่จะทำให้คนเข้าถึงออนไลน์ได้
โดย Anonymous ส 30 ธ.ค. 2023 4:18 am บอร์ด Programming - PHP
1
389
ส 30 ธ.ค. 2023 10:47 pm โดย mindphp View Topic มีเว็บที่เปิดเป็น localhost ใช้งานได้อยู่ มีวิธีไหนบ้างครับ ที่จะทำให้คนเข้าถึงออนไลน์ได้
ในฐานะผู้ดูแลระบบ (System Administrator) ก่อนเข้าช่วงหยุดยาว เตรียมตัวแบบนี้เพื่อให้หยุดได้อย่างไร้กังวน
โดย mindphp พฤ 28 ธ.ค. 2023 12:20 pm บอร์ด Linux - Web Server
0
609
พฤ 28 ธ.ค. 2023 12:20 pm โดย mindphp View Topic ในฐานะผู้ดูแลระบบ (System Administrator) ก่อนเข้าช่วงหยุดยาว เตรียมตัวแบบนี้เพื่อให้หยุดได้อย่างไร้กังวน
แก้ปัญหา Google Chrome เข้าหน้าเว็บไม่ได้ขึ้น ERROR SSL Key แต่ใช้ browser ตัวอื่นเข้าได้หมด
โดย mindphp พฤ 28 ธ.ค. 2023 7:11 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
362
พฤ 28 ธ.ค. 2023 7:11 am โดย mindphp View Topic แก้ปัญหา Google Chrome เข้าหน้าเว็บไม่ได้ขึ้น ERROR SSL Key แต่ใช้ browser ตัวอื่นเข้าได้หมด
ทำไมการย้ายโดเมนมักแนะนำให้ดำเนินการก่อนหมดอายุ 30 วัน มาดูรายละเอียดกัน Domain Tranfer มีกี่ขั้นตอน
โดย mindphp พฤ 28 ธ.ค. 2023 6:54 am บอร์ด Microsoft Office Knowledge & line & Etc
0
450
พฤ 28 ธ.ค. 2023 6:54 am โดย mindphp View Topic ทำไมการย้ายโดเมนมักแนะนำให้ดำเนินการก่อนหมดอายุ 30 วัน มาดูรายละเอียดกัน Domain Tranfer มีกี่ขั้นตอน
วิธีแชร์ภาพจาก Canva ไปที่ Facebook Page
โดย vibeday พฤ 28 ธ.ค. 2023 12:42 am บอร์ด Microsoft Office Knowledge & line & Etc
0
373
พฤ 28 ธ.ค. 2023 12:42 am โดย vibeday View Topic วิธีแชร์ภาพจาก Canva ไปที่ Facebook Page
โฆษณา LINE ทางเลือกใหม่ของแบรนด์ในยุคออนไลน์
โดย admeadme พ 27 ธ.ค. 2023 3:38 pm บอร์ด Share Knowledge
0
402
พ 27 ธ.ค. 2023 3:38 pm โดย admeadme View Topic โฆษณา LINE ทางเลือกใหม่ของแบรนด์ในยุคออนไลน์
คำสั่ง SQL วิธีแปลงค่าตัวเลข เช่น 1703618219 ซึ่งเป็นค่า Unix timestamp (จำนวนวินาทีนับตั้งแต่วันที่ 1 มกราคม ค.ศ. 1970)
โดย mindphp พ 27 ธ.ค. 2023 1:12 pm บอร์ด SQL Knowledge
0
1793
พ 27 ธ.ค. 2023 1:12 pm โดย mindphp View Topic คำสั่ง SQL วิธีแปลงค่าตัวเลข เช่น 1703618219 ซึ่งเป็นค่า Unix timestamp (จำนวนวินาทีนับตั้งแต่วันที่ 1 มกราคม ค.ศ. 1970)