Tại sao python tốt hơn để xử lý hình ảnh?

Trong thế giới ngày nay, dữ liệu đóng một vai trò quan trọng trong mọi ngành dọc. Hình ảnh có thể là một trong những nguồn trích xuất dữ liệu. Một hình ảnh có thể được định nghĩa là một ma trận pixel và mỗi pixel đại diện cho một màu có thể được coi là giá trị dữ liệu

Xử lý hình ảnh có ích để khám phá dữ liệu cơ bản từ bất kỳ hình ảnh nào. Nó giúp bạn trích xuất, thao tác và lọc dữ liệu từ một hình ảnh. Mục tiêu chính của xử lý ảnh là khám phá một số thông tin có giá trị từ ảnh.  

Có nhiều ứng dụng xử lý hình ảnh khác nhau, chẳng hạn như làm sắc nét hình ảnh, phục hồi hình ảnh, nhận dạng mẫu, xử lý video, v.v. Hầu hết các ứng dụng xử lý hình ảnh đều thuộc phân tích dữ liệu và khoa học dữ liệu.  

Và khi nói đến phân tích dữ liệu, ngôn ngữ duy nhất mà chúng tôi nghĩ đến là Python. Nó cũng là ngôn ngữ được ưa thích nhất để xử lý hình ảnh vì có bộ thư viện phong phú, giúp các nhà phát triển dễ dàng thực hiện các thao tác phức tạp bằng cách sử dụng các dòng mã đơn giản.  

Chúng ta hãy xem một số thư viện Python chủ yếu được sử dụng để xử lý ảnh.  

 

8 công cụ thao tác hình ảnh Python tốt nhất

 

Dưới đây là danh sách các thư viện Python tốt nhất giúp bạn thao tác với hình ảnh dễ dàng. Tất cả chúng đều dễ sử dụng và cho phép bạn trích xuất dữ liệu cơ bản từ hình ảnh.  

 

1. OpenCV

 

OpenCV [Open Source Computer Vision Library] là một thư viện Python Data Visualation phổ biến. Nó là một thư viện mã nguồn mở có sẵn cho các ngôn ngữ lập trình khác nhau, bao gồm C ++, Java cũng như hợp ngữ.  

Thư viện này do Intel phát triển bằng ngôn ngữ lập trình C++ và nó được thiết kế cho thị giác máy tính thời gian thực. Đó là lý tưởng để thực hiện các chương trình thị giác máy tính chuyên sâu.  

Cài đặt

Vì OpenCV là thư viện của bên thứ ba, chúng tôi có thể cài đặt nó cho môi trường Python của mình bằng công cụ quản lý gói pip Python

pip install opencv-python

 

Ví dụ

# import opencv
import cv2
 
# Read the image
image = cv2.imread['tesla.png']
# grayscale the image
gray_image = cv2.cvtColor[image, cv2.COLOR_BGR2GRAY]
 
cv2.imshow['Original Image', image]
 
cv2.imshow['Grayscale Image', gray_image]
cv2.waitKey[0]
 
cv2.destroyAllWindows[]

 

đầu ra

 

 

2. Gối [PIL]

 

Gối là một thư viện xử lý ảnh Python phổ biến khác. Đây là thư viện xử lý ảnh cơ bản nhất mà mọi người mới bắt đầu đều có thể bắt đầu sử dụng. Nó còn được gọi là PIL, viết tắt của Python Imaging Library.  

Thư viện PIL đi kèm với các phần mở rộng định dạng tệp khác nhau cung cấp các tính năng mạnh mẽ và phức tạp để thực hiện xử lý hình ảnh. Nếu chúng ta so sánh PIL với OpenCV, thì PIL là một thư viện nhẹ với ít tính năng hơn, giúp dễ dàng tìm hiểu và xử lý cho một nhà phát triển Python mới bước vào lĩnh vực xử lý hình ảnh.  

Cài đặt

PIL cũng là thư viện mã nguồn mở của bên thứ ba và nó có thể được cài đặt bằng lệnh cài đặt pip

pip install pillow 

 

Ví dụ

GrayScale một hình ảnh trong Python bằng Gối

from PIL import Image
 
with Image.open["tesla.png"] as im:
    #show the original image
    im.show["Original Image"]
 
    #convert into grayscale
    grayscaleImg = im.convert["L"]
 
    #show the grayscale image
    grayscaleImg.show[]

 

đầu ra

 

 

3. Hình ảnh Scikit

 

Scikit Images là một thư viện xử lý ảnh Python có khuynh hướng khoa học. Nó được thiết kế để xử lý hình ảnh bằng thư viện Numpy và Scipy. Nó bao gồm các thuật toán khoa học khác nhau, chẳng hạn như phân đoạn, thao tác không gian màu, phân tích, hình thái học, v.v. Thư viện này được viết bằng ngôn ngữ lập trình Python và C. Nó có sẵn cho tất cả các hệ điều hành phổ biến, chẳng hạn như Linux, macOS và Windows

Cài đặt

scikit-image là một thư viện mã nguồn mở và chúng ta có thể cài đặt nó bằng lệnh pip install

pip install scikit-image

 

Ví dụ

GrayScale một hình ảnh bằng thư viện hình ảnh scikit

from skimage import io
from skimage.color import rgb2gray
 
 
# way to load car image from file
car = io.imread['tesla.png'][:,:,:3]
 
#convert into grayscale
grayscale = rgb2gray[car]
 
#show the original
io.imshow[car]
io.show[]
 
#show the grayscale
io.imshow[grayscale]
io.show[]

 

đầu ra

 

 

4. NumPy

 

NumPy là thư viện máy tính khoa học Python cơ bản nhất. Nó nổi tiếng với việc giới thiệu các mảng hoặc ma trận đa chiều trong Python. Nó là một thư viện máy tính khoa học chuyên dụng. Ngoài ra, nó đi kèm với các tính năng toán học mở rộng như mảng, đại số tuyến tính, phép toán thống kê cơ bản, mô phỏng ngẫu nhiên, sắp xếp logic, tìm kiếm, thao tác hình, v.v.

Cài đặt

Một lần nữa để cài đặt NumPy, chúng ta có thể sử dụng lệnh cài đặt pip

pip install numpy

 

Ví dụ

Thang độ xám của hình ảnh bằng cách sử dụng numpy

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
 
#load the original image
img_rgb = mpimg.imread['tesla.png'][...,:3]
 
#show the original image
plt.imshow[img_rgb]
plt.show[]
 
#convert the image into grayscale
img_gray = np.dot[img_rgb,[0.299, 0.587, 0.144]]
 
#show the grayscale image
plt.imshow[img_gray, cmap=plt.get_cmap['gray']]
plt.show[]

 

đầu ra

 

 

5. khoa học viễn tưởng

 

Tương tự như Numpy, SciPy cũng là một thư viện tính toán khoa học. Nó có nhiều tính năng hơn Numpy vì nó được xây dựng như một phần mở rộng của thư viện NumPy

Scipy cung cấp các lệnh và lớp cấp cao và phức tạp để thao tác dữ liệu và trực quan hóa dữ liệu. Nó bao gồm một loạt các công cụ xử lý dữ liệu. Ngoài ra, nó hỗ trợ lập trình song song, truy cập dữ liệu từ web, chương trình con hướng dữ liệu và các tính năng toán học khác

Cài đặt

Để cài đặt thư viện SciPy, chúng ta có thể nhờ sự trợ giúp của công cụ CLI của trình quản lý gói Python, pip

________số 8

 

Ví dụ

Chuyển đổi một hình ảnh trong thang độ xám bằng cách sử dụng scipy

from scipy import misc,ndimage
from matplotlib import pyplot as plt
import numpy as np
img=misc.face[]
 
#show original image
plt.imshow[img]
plt.show[]
 
#grayscale using gaussian blur filter
grayscale=ndimage.gaussian_filter[img,sigma=2]
 
#show grayscale image
plt.imshow[grayscale]
plt.show[]

 

đầu ra

 

 

6. đại ca

 

Mahotas là một thư viện thị giác máy tính Python khác có thể thực hiện các hoạt động xử lý hình ảnh khác nhau. Nó được thiết kế bằng C++, và nó bao gồm nhiều thuật toán để tăng tốc độ xử lý hình ảnh. Ngoài ra, nó sử dụng hình ảnh trong ma trận bằng cách sử dụng mảng NumPy. Đầu nguồn, phép tính điểm lồi hit & miss tích chập, và các cạnh Sobel là những tính năng chính có sẵn trong thư viện này

Cài đặt

Mahotas là một thư viện mã nguồn mở và có thể được cài đặt bằng lệnh đầu cuối sau

# import opencv
import cv2
 
# Read the image
image = cv2.imread['tesla.png']
# grayscale the image
gray_image = cv2.cvtColor[image, cv2.COLOR_BGR2GRAY]
 
cv2.imshow['Original Image', image]
 
cv2.imshow['Grayscale Image', gray_image]
cv2.waitKey[0]
 
cv2.destroyAllWindows[]
0

 

Ví dụ

Chuyển đổi hình ảnh RGB sang thang độ xám bằng Mahotas

# import opencv
import cv2
 
# Read the image
image = cv2.imread['tesla.png']
# grayscale the image
gray_image = cv2.cvtColor[image, cv2.COLOR_BGR2GRAY]
 
cv2.imshow['Original Image', image]
 
cv2.imshow['Grayscale Image', gray_image]
cv2.waitKey[0]
 
cv2.destroyAllWindows[]
1

 

đầu ra

 

 

7. đơn giảnITK

 

SimpleITK là một bộ công cụ mạnh mẽ để đăng ký và phân đoạn hình ảnh. Nó được xây dựng như một phần mở rộng của bộ công cụ ITK để cung cấp một giao diện đơn giản hóa. Nó có sẵn trong các ngôn ngữ lập trình khác nhau như Python, R, C++, Java, C#, Ruby, TCL và Lua

Thư viện này hỗ trợ hình ảnh 2D, 3D và 4D. Tốc độ xử lý ảnh của thư viện này rất cao so với các thư viện và framework xử lý ảnh Python khác

Cài đặt

# import opencv
import cv2
 
# Read the image
image = cv2.imread['tesla.png']
# grayscale the image
gray_image = cv2.cvtColor[image, cv2.COLOR_BGR2GRAY]
 
cv2.imshow['Original Image', image]
 
cv2.imshow['Grayscale Image', gray_image]
cv2.waitKey[0]
 
cv2.destroyAllWindows[]
2

 

Ví dụ

Tải và hiển thị hình ảnh bằng SimpleITK

# import opencv
import cv2
 
# Read the image
image = cv2.imread['tesla.png']
# grayscale the image
gray_image = cv2.cvtColor[image, cv2.COLOR_BGR2GRAY]
 
cv2.imshow['Original Image', image]
 
cv2.imshow['Grayscale Image', gray_image]
cv2.waitKey[0]
 
cv2.destroyAllWindows[]
3

 

đầu ra

 

 

8. Matplotlib

 

Matplotlib cũng có thể được sử dụng làm thư viện xử lý ảnh, mặc dù nó là thư viện trực quan hóa dữ liệu. Nó thường được sử dụng để vẽ dữ liệu mảng NumPy, nhưng nó cũng có thể đọc dữ liệu hình ảnh được biểu thị bằng mảng NumPy. Chúng tôi đã sử dụng thư viện Matplotlib trong các thư viện trên để hiển thị và vẽ các hình ảnh

Cài đặt

Matplotlib có thể được cài đặt bằng lệnh đơn giản sau

# import opencv
import cv2
 
# Read the image
image = cv2.imread['tesla.png']
# grayscale the image
gray_image = cv2.cvtColor[image, cv2.COLOR_BGR2GRAY]
 
cv2.imshow['Original Image', image]
 
cv2.imshow['Grayscale Image', gray_image]
cv2.waitKey[0]
 
cv2.destroyAllWindows[]
4

 

Ví dụ

# import opencv
import cv2
 
# Read the image
image = cv2.imread['tesla.png']
# grayscale the image
gray_image = cv2.cvtColor[image, cv2.COLOR_BGR2GRAY]
 
cv2.imshow['Original Image', image]
 
cv2.imshow['Grayscale Image', gray_image]
cv2.waitKey[0]
 
cv2.destroyAllWindows[]
5

 

đầu ra

 

 

Phần kết luận

 

Đến đây kết thúc danh sách các công cụ thao tác hình ảnh Python tốt nhất của chúng tôi. Trong số tám thư viện hoặc công cụ này, thư viện xử lý hoặc thao tác hình ảnh Python được sử dụng nhiều nhất là Gối và OpenCV [SimplICV trong một số trường hợp cụ thể]

Nếu bạn đang nghĩ đến việc xây dựng một dự án liên quan đến xử lý ảnh, chẳng hạn như xác định đối tượng hoặc thao tác màu, hãy cân nhắc sử dụng thư viện OpenCV vì đây là một thư viện khổng lồ với nhiều tính năng nâng cao. Các thư viện khác cũng hỗ trợ một số tính năng thao tác hoặc xử lý ảnh nhưng không hiệu quả lắm

Tại sao Python tốt cho việc xử lý hình ảnh?

Python trở thành lựa chọn thích hợp cho các tác vụ xử lý Hình ảnh như vậy. Điều này là do nó ngày càng phổ biến như một ngôn ngữ lập trình khoa học và sự sẵn có miễn phí của nhiều công cụ Xử lý hình ảnh hiện đại trong hệ sinh thái của nó . Hãy xem xét một số thư viện Python thường được sử dụng cho các tác vụ thao tác Hình ảnh.

Kỹ thuật nào là tốt nhất để xử lý hình ảnh?

Trong bài viết này, chúng tôi sẽ đề cập đến 6 kỹ thuật xử lý hình ảnh hàng đầu cho máy học. .
Khôi phục hình ảnh
Lọc tuyến tính
Phân tích thành phần độc lập
điểm ảnh
So khớp mẫu
Kỹ thuật tạo ảnh [GAN]

Tại sao Python tốt hơn cho thị giác máy tính?

Mặt khác, Thị giác máy tính cho phép máy tính xác định đối tượng thông qua hình ảnh hoặc video kỹ thuật số. Triển khai CV thông qua Python cho phép nhà phát triển tự động hóa các tác vụ liên quan đến trực quan hóa . Trong khi các ngôn ngữ lập trình khác hỗ trợ Computer Vision, Python chiếm ưu thế trong cuộc cạnh tranh.

Cái nào tốt hơn để xử lý hình ảnh Python hoặc MATLAB?

Trong kỹ thuật, Python cũng giúp thực hiện mô phỏng, rung động, mô hình hóa kỹ thuật và chuyển động động. Trong khi đó, hộp công cụ IC để xử lý hình ảnh trong MATLAB làm cho nó trở thành một tùy chọn tốt hơn để phân đoạn, trích xuất và phân tích dữ liệu hình ảnh .

Chủ Đề