การประมวลผลภาพโดยใช้ OpenCV
OpenCV (โอเพ่นซอร์สคอมพิวเตอร์วิทัศน์) เป็นไลบรารีการเขียนโปรแกรมโอเพ่นซอร์สที่พัฒนาขึ้นโดยทั่วไปสำหรับการเรียนรู้ของเครื่องและการมองเห็นด้วยคอมพิวเตอร์ มีโครงสร้างพื้นฐานทั่วไปในการทำงานกับแอปพลิเคชันวิชันซิสเต็มและเร่งการใช้แมชชีนเลิร์นนิงในผลิตภัณฑ์เชิงพาณิชย์
ด้วยอัลกอริธึมที่ปรับให้เหมาะสมมากกว่า 2.5 พันรายการสำหรับทั้งการมองเห็นด้วยคอมพิวเตอร์และการเรียนรู้ของเครื่อง จึงเป็นทั้งอัลกอริธึมแบบคลาสสิกและล้ำสมัย ด้วยอัลกอริธึมมากมาย ทำให้ใช้ไลบรารี่เพื่อวัตถุประสงค์หลายประการ เช่น การตรวจจับใบหน้าและการจดจำ ระบุวัตถุ จำแนกการกระทำของมนุษย์ในวิดีโอ ติดตามการเคลื่อนไหวของกล้อง รวมภาพเข้าด้วยกันเพื่อสร้างภาพความละเอียดสูงของทั้งฉาก และอีกมากมาย
ในนี้ฉันจะพยายามอธิบายว่าเราจะใช้ไลบรารี OpenCV และ python เพื่ออ่านและแสดงภาพได้อย่างไร ดำเนินการโดยใช้โมดูล cv2 และ Numpy
คุณสามารถดาวน์โหลดโมดูล numpy ได้จาก Python Package Index (PyPI)
$ pip install numpy
อ่านรูปภาพ
เราใช้ฟังก์ชัน cv2.imread() เพื่ออ่านรูปภาพ รูปภาพควรอยู่ในไดเร็กทอรีการทำงานปัจจุบัน มิฉะนั้น เราจำเป็นต้องระบุพาธสัมบูรณ์
import numpy as np import cv2 # Load an color image in grayscale img = cv2.imread('Top-bike-wallpaper.jpg',0)
แสดงภาพ
หากต้องการแสดงรูปภาพในหน้าต่าง ให้ใช้ฟังก์ชัน cv2.imshow()
#Display the image cv2.imshow('image',img) #key binding function cv2.waitKey(0) #Destroyed all window we created earlier. cv2.destroyAllWindows()
เมื่อเรียกใช้โค้ดด้านบน ภาพหน้าจอของหน้าต่างจะมีลักษณะดังนี้
เขียนภาพ
ใช้ฟังก์ชัน cv2.imwrite() เพื่อบันทึกภาพ
อาร์กิวเมนต์แรกคือชื่อไฟล์ อาร์กิวเมนต์ที่สองคือรูปภาพที่คุณต้องการบันทึก
cv2.imwrite('messigray.png',img)
สรุป −
import numpy as np import cv2 #Read the Image # Load an color image in grayscale img = cv2.imread('Top-bike-wallpaper.jpg',0) #Display the image cv2.imshow('image',img) #key binding function k = cv2.waitKey(0) # wait for ESC key to exit if k == 27: cv2.destroyAllWindows() # wait for 's' key to save and exit elif k == ord('s'): cv2.imwrite('myBike.jpg',img) cv2.destroyAllWindows()
บันทึกภาพโดยกด 's' หรือกดปุ่ม 'ESC' เพื่อออกโดยไม่บันทึก
การใช้ Python Imaging Library (PIL)
Python Imaging Library (PIL) เป็นไลบรารีจัดการรูปภาพใน python ใช้ pip เพื่อติดตั้งไลบรารี PIL
$ pip install Pillow
จากรูปภาพนำเข้า PIL, ImageFilter
#Read image im = Image.open( 'myBike.png' ) #Display image im.show() #Applying a filter to the image im_sharp = im.filter( ImageFilter.SHARPEN ) #Saving the filtered image to a new file im_sharp.save( 'another_Bike.jpg', 'JPEG' )
ผลลัพธ์
รูปภาพถูกบันทึกในตำแหน่งเริ่มต้นของฉัน .i.e. ไดเรกทอรีที่ทำงานอยู่ในปัจจุบันและภาพหน้าจอของหน้าต่างจะแสดงภาพของเรา