Computer >> Máy Tính >  >> Lập trình >> Python

Đọc hình ảnh bằng Python?

Xử lý hình ảnh bằng OpenCV

OpenCV (Open source computer vision) là một thư viện lập trình mã nguồn mở về cơ bản được phát triển cho máy học và thị giác máy tính. Nó cung cấp cơ sở hạ tầng chung để hoạt động trên các ứng dụng thị giác máy tính và để đẩy nhanh việc sử dụng máy học trong các sản phẩm thương mại.

Với hơn 2,5 nghìn thuật toán được tối ưu hóa cho cả thị giác máy tính và máy học đều là những thuật toán cổ điển và hiện đại. Với rất nhiều thuật toán, nó có thể sử dụng thư viện cho nhiều mục đích bao gồm phát hiện và nhận dạng khuôn mặt, xác định đối tượng, phân loại hành động của con người trong video, theo dõi chuyển động của camera, nối các hình ảnh lại với nhau để tạo ra hình ảnh có độ phân giải cao của toàn bộ cảnh và hơn thế nữa.

Trong phần này, tôi sẽ cố gắng giải thích cách chúng ta có thể sử dụng thư viện OpenCV và python để đọc và hiển thị hình ảnh. Điều này được triển khai bằng cách sử dụng mô-đun cv2 và Numpy.

Bạn có thể tải xuống mô-đun numpy từ Chỉ mục gói Python (PyPI).

$ pip install numpy

Đọc một hình ảnh

Chúng tôi sử dụng hàm cv2.imread () để đọc một hình ảnh. Hình ảnh phải được đặt trong thư mục làm việc hiện tại, nếu không, chúng tôi cần cung cấp đường dẫn chính xác.

import numpy as np
import cv2
# Load an color image in grayscale
img = cv2.imread('Top-bike-wallpaper.jpg',0)

Hiển thị hình ảnh

Để hiển thị hình ảnh trong cửa sổ, hãy sử dụng hàm cv2.imshow ().

#Display the image
cv2.imshow('image',img)
#key binding function
cv2.waitKey(0)
#Destroyed all window we created earlier.
cv2.destroyAllWindows()

Khi chạy đoạn mã trên, ảnh chụp màn hình của cửa sổ sẽ trông như thế này,

Đọc hình ảnh bằng Python?

Viết hình ảnh

Sử dụng hàm cv2.imwrite () để lưu hình ảnh.

Đối số đầu tiên là tên tệp, đối số thứ hai là hình ảnh bạn muốn lưu.

cv2.imwrite('messigray.png',img)

Tổng kết -

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()

Lưu hình ảnh bằng cách nhấn 's' hoặc nhấn phím 'ESC' để thoát mà không cần lưu.

Sử dụng Thư viện hình ảnh Python (PIL)

Thư viện hình ảnh Python (PIL) là thư viện thao tác hình ảnh trong python. Sử dụng pip để cài đặt thư viện PIL,

$ pip install Pillow

từ Hình ảnh nhập PIL, Bộ lọc Hình ảnh

#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' )

Đầu ra

Đọc hình ảnh bằng Python?

Hình ảnh được lưu ở vị trí mặc định của tôi. I.e. thư mục hiện đang hoạt động và ảnh chụp màn hình của cửa sổ sẽ hiển thị hình ảnh của chúng tôi.