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

การอ่านภาพด้วย Python

การประมวลผลภาพด้วย OpenCV

OpenCV (Open Source Computer Vision) เป็นไลบรารีโปรแกรมมิ่งโอเพนซอร์สที่พัฒนาสำหรับ machine learning และ computer vision โดยเฉพาะ มันให้โครงสร้างพื้นฐานทั่วไปสำหรับการทำงานบนแอปพลิเคชัน computer vision และเร่งการใช้ machine learning ในผลิตภัณฑ์เชิงพาณิชย์

มีอัลกอริทึมที่เพิ่มประสิทธิภาพมากกว่า 2,500 ตัวสำหรับ computer vision และ machine learning ทั้งแบบคลาสสิกและ state-of-the-art ด้วยอัลกอริทึมมากมาย ทำให้ใช้ไลบรารีได้หลายวัตถุประสงค์ รวมถึง การตรวจจับและจดจำใบหน้า, ระบุวัตถุ, จำแนกการกระทำของมนุษย์ในวิดีโอ, ติดตามการเคลื่อนไหวของกล้อง, รวมภาพเพื่อสร้างภาพความละเอียดสูงของฉากทั้งหมด และอื่นๆ อีกมาก

ในบทความนี้จะอธิบายวิธีใช้ไลบรารี 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)

# Destroy all windows we created earlier
cv2.destroyAllWindows()

เมื่อรันโค้ดข้างต้น สกรีนชอตของหน้าต่างจะมีลักษณะดังนี้:

การอ่านภาพด้วย Python

เขียนภาพ

ใช้ฟังก์ชัน 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
from PIL import Image, 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')

ผลลัพธ์

การอ่านภาพด้วย Python

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