Python cung cấp rất nhiều thư viện để xử lý hình ảnh, bao gồm -
-
OpenCV - Thư viện xử lý hình ảnh chủ yếu tập trung vào thị giác máy tính thời gian thực với ứng dụng trong nhiều lĩnh vực như bộ công cụ tính năng 2D và 3D, nhận dạng khuôn mặt và cử chỉ, tương tác giữa người và máy tính, rô bốt di động, nhận dạng đối tượng và các lĩnh vực khác.
-
Thư viện Numpy và Scipy - Đối với thao tác và xử lý hình ảnh.
-
Sckikit - Cung cấp nhiều nhịp điệu để xử lý hình ảnh.
-
Thư viện hình ảnh Python (PIL) - Thực hiện các thao tác cơ bản trên hình ảnh như tạo hình thu nhỏ, thay đổi kích thước, xoay, chuyển đổi giữa các định dạng tệp khác nhau, v.v.
Trong phần này, chúng ta sẽ xem một số kiến thức cơ bản về xử lý hình ảnh trong python.
Cài đặt thư viện bắt buộc
Bước đầu tiên của chúng tôi sẽ là cài đặt thư viện cần thiết, như openCV, gối hoặc thư viện khác mà chúng tôi muốn sử dụng để xử lý hình ảnh. Chúng tôi có thể sử dụng pip để cài đặt thư viện cần thiết, như -
$pip install pillow
Vậy là xong:bây giờ chúng ta có thể chơi với hình ảnh của mình.
Hình ảnh:Mở () và hiển thị ()
Đầu tiên, mở tệp / hình ảnh và hiển thị. Bạn có thể xoay hình ảnh trong khi hiển thị như bên dưới -
#Import required library from PIL import Image #Open Image im = Image.open("TajMahal.jpg") #Image rotate & show im.rotate(45).show()
Đầu ra
Như biến trên im, là một đối tượng gối. Chúng tôi có thể truy xuất một số thông tin về hình ảnh đã mở -
>>> im <PIL.JpegImagePlugin.JpegImageFile image mode = RGB size = 1000x667 at 0x65AB990< >>> im.size (1000, 667) >>> im.format 'JPEG' >>>
Chuyển đổi và Lưu () Hình ảnh
Chúng ta có thể thay đổi định dạng của hình ảnh từ dạng này sang dạng khác, như bên dưới -
>>> im.save('TajMahal.png')
Bây giờ nếu chúng ta nhìn thấy thư mục, chúng ta có cùng một hình ảnh ở hai định dạng khác nhau.
Thay đổi kích thước-thumbnails ()
Chúng ta có thể thay đổi kích thước của hình ảnh bằng cách sử dụng phương thức thumbnail () của gối -
>>> im.thumbnail ((300, 300)) >>> im.show()
Hình ảnh sẽ thay đổi như sau:
Chuyển đổi sang hình ảnh thang độ xám - convert ()
Chúng tôi có thể tạo hình ảnh thang độ xám từ hình ảnh màu ban đầu của chúng tôi.
>>> TajMahal_gray = Image.open('TajMahal.jpg').convert('L') >>> TajMahal_gray.show()
Trong đó "L" là viết tắt của 'luminous'.
Ví dụ trên là từ thư viện PIL của python. Chúng ta có thể sử dụng thư viện khác như open-cv, matplotlib &numpy để xử lý hình ảnh. Dưới đây là một số chương trình ví dụ để chứng minh việc sử dụng thư viện mạnh mẽ để xử lý hình ảnh.
Hiển thị hình ảnh ở thang độ xám
#Import required library import cv2 import numpy as np from matplotlib import pyplot as plt im = cv2.imread('TajMahal.jpg',cv2.IMREAD_GRAYSCALE) cv2.imshow('image',im) cv2.waitKey(0) cv2.destroyAllWindows()
Đầu ra
Một cách khác để viết chương trình trên với dấu tích / dòng để đánh dấu hình ảnh.
import cv2 import numpy as np from matplotlib import pyplot as plt im = cv2.imread('TajMahal.jpg',cv2.IMREAD_GRAYSCALE) plt.imshow(im, cmap = 'gray', interpolation = 'bicubic') # to hide tick values on X and Y axis plt.xticks([]), plt.yticks([]) plt.plot([200,300,400],[100,200,300],'c', linewidth = 5) plt.show()
Đầu ra