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,
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
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.