Sử dụng Python Computer Vision với OpenCV

Sử dụng Python Computer Vision với OpenCV

Rate this post

Trong hướng dẫn Python này , chúng ta sẽ nói về Python Computer Vision và OpenCV. Hơn nữa, chúng ta sẽ xem cách sử dụng Python để thực hiện các tác vụ cơ bản với OpenCV. Ngoài ra, chúng ta sẽ thấy phát hiện các cạnh, vẽ bằng Python OpenCV, phát hiện khuôn mặt và phát hiện mắt.

Các bài viết liên quan:

Vì vậy, hãy bắt đầu hướng dẫn Python Computer Vision.

Sử dụng Python Computer Vision với OpenCV

Computer Vision trong Python là gì?

Thị giác máy tính là một lĩnh vực bao gồm nhiều lĩnh vực quan tâm đến việc làm thế nào máy tính có thể đạt được hiểu biết cấp cao từ hình ảnh / video kỹ thuật số. Đây là một nỗ lực nhằm tự động hóa các tác vụ mà hệ thống thị giác của con người có thể thực hiện. Đây là một quá trình thu thập, xử lý, phân tích và hiểu hình ảnh kỹ thuật số và trích xuất dữ liệu chiều cao từ thế giới thực (để tạo ra thông tin số / biểu tượng.)

Xem thêm Tìm kiếm Heuristic trong AI

Các tác vụ điển hình liên quan đến Python Computer Vision là:

  • Nhận diện
  • Phân tích chuyển động
  • Tái tạo cảnh
  • Khôi phục hình ảnh

Các trường liên quan đến Python Computer Vision:

  • Trí tuệ nhân tạo
  • Vật lý trạng thái rắn
  • Sinh học thần kinh
  • Xử lý tín hiệu
  • Thống kê, Tối ưu hóa, Hình học

Một số ứng dụng của Python Computer Vision:

  • Kiểm tra tự động trong các ứng dụng sản xuất
  • Hỗ trợ con người trong các nhiệm vụ nhận dạng (ví dụ: hệ thống nhận dạng loài)
  • Kiểm soát các quy trình (ví dụ: rô bốt công nghiệp)
  • Phát hiện các sự kiện (ví dụ: giám sát trực quan)
  • Tương tác (ví dụ: đầu vào cho thiết bị để tương tác giữa máy tính và con người)
  • Mô hình hóa các đối tượng / môi trường (ví dụ: phân tích hình ảnh y tế)
  • Điều hướng (ví dụ: xe tự hành)
  • Tổ chức thông tin (ví dụ: lập chỉ mục cơ sở dữ liệu hình ảnh và chuỗi hình ảnh)

OpenCV Python Computer Vision

Gary Bradsky bắt đầu OpenCV tại Intel vào năm 1999. Mặc dù nó hỗ trợ nhiều ngôn ngữ như C ++, Python, v.v. và OpenCV-Python là một API để OpenCV giải phóng sức mạnh của Python và API OpenCV C ++ cùng một lúc.

Xem thêm Thư viện Java cho Machine learning tốt nhất

Đối với Python, đây là một thư viện liên kết với mục đích giải quyết các vấn đề về thị giác máy tính. Thư viện này sử dụng NumPy và tất cả các cấu trúc mảng của nó chuyển đổi sang và từ mảng NumPy. Điều này cũng có nghĩa là chúng ta có thể tích hợp nó dễ dàng với các thư viện khác như SciPy và Matplotlib (những thư viện này sử dụng NumPy).

Cài đặt OpenCV Python

Trước khi bạn có thể cài đặt OpenCV, hãy đảm bảo rằng bạn đã cài đặt Python và NumPy trên máy của mình.

Bạn có thể tải xuống bánh xe cho OpenCV tại đây (không chính thức) để bạn không gặp phải một số DLL Hell:

https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv

Sau đó, bạn có thể cài đặt tệp này bằng cách sử dụng pip:

pip install [path_of_wheel_file]

Nhập OpenCV bằng Python

Truy cập IDLE và nhập OpenCV:

import cv2

Python Computer Vision – Làm việc với Hình ảnh

Bây giờ chúng ta đã cài đặt thành công OpenCV, hãy bắt đầu với nó.

Hãy xem Xử lý hình ảnh với Python SciPy & NumPy

Sử dụng Python Computer Vision với OpenCV

Lưu ý rằng trước đó, chúng tôi đã chuyển đến thư mục lưu giữ hình ảnh này.

Chúng ta cũng có thể chuyển một giá trị cho một cờ, đó là đối số thứ hai-

  • cv2.IMREAD_COLOR- Để tải hình ảnh màu bỏ qua độ trong suốt hiện có (cờ mặc định)
  • cv2.IMREAD_GRAYSCALE- Để tải hình ảnh thang độ xám
  • cv2.IMREAD_UNCHANGED- Để tải hình ảnh bao gồm kênh alpha

Chúng ta có thể chuyển các số nguyên 1, 0 hoặc -1.

img=cv2.imread('py.jpg',0)

Nếu bạn chuyển một đường dẫn hình ảnh không chính xác, điều này không gây ra lỗi cho chúng tôi, nhưng print (img) cho chúng tôi Không có.

Hiển thị hình ảnh bằng Python

Hàm / method cv2.imshow () cho phép chúng tôi hiển thị hình ảnh trong cửa sổ phù hợp với kích thước của hình ảnh. Đối số đầu tiên là tên cửa sổ- một chuỗi; thứ hai là hình ảnh.

img=cv2.imread('py.jpg')
cv2.imshow('Python',img)

Làm thế nào về việc chúng tôi hiển thị điều này trong thang độ xám?

Sử dụng Python Computer Vision với OpenCV

Lưu ý rằng nó cho phép chúng ta có hai cửa sổ cùng một lúc vì chúng ta đã không cố gắng đặt tên chúng giống nhau.

Làm việc trong các tập lệnh, một lệnh gọi đến waitKey (0) là có lợi. Đây là một hàm / phương thức liên kết bàn phím với thời gian tính bằng mili giây. Hàm này chờ một số mili giây nhất định cho một sự kiện bàn phím, trong đó, nếu chúng ta nhấn bất kỳ phím nào, chương trình sẽ tiếp tục. Khi chúng ta vượt qua số 0, chúng ta khiến nó chờ đợi vô thời hạn cho một lần gõ phím. Chúng tôi cũng có thể làm cho nó đợi các phím cụ thể.

cv2.destroyAllWindows () là một hàm / phương thức khác để phá hủy tất cả các cửa sổ chúng ta đã tạo. cv2.destroyWindow () hủy một cửa sổ cụ thể.

Viết hình ảnh bằng Python

Đối với điều này, chúng ta có hàm / phương thức cv2.imwrite (). Đối số đầu tiên là tên tệp và đối số thứ hai là hình ảnh để lưu.

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

Điều này sẽ lưu hình ảnh ở thang độ xám với tên ‘pygray.png’ trong thư mục hiện tại. Hình ảnh này ở định dạng PNG.

plt.xticks([]),plt.yticks([])

(([], <a danh sách 0 đối tượng Text xticklabel>), ([], <a danh sách 0 đối tượng Text yticklabel>))

plt.show()

Sử dụng Python Computer Vision với OpenCV
Sử dụng Python Computer Vision với OpenCV
Sử dụng Python Computer Vision với OpenCV
Sử dụng Python Computer Vision với OpenCV
Sử dụng Python Computer Vision với OpenCV
Sử dụng Python Computer Vision với OpenCV
Sử dụng Python Computer Vision với OpenCV

(35, 10, 0)

img[y,x]=(0,0,255) #Setting pixel color to red; BGR scheme
region_of_interest=img[y:y+50,x:x+50] #Region of interest at (x,y) of dimensions 50x50
cv2.imshow('image',img)
Sử dụng Python Computer Vision với OpenCV
Sử dụng Python Computer Vision với OpenCV
Sử dụng Python Computer Vision với OpenCV

Đúng vậy

cv2.imshow('edges',cv2.imread('edges_py.jpg'))

Sử dụng Python Computer Vision với OpenCV

True

Hãy sửa lại Biểu thức chính quy Python

cv2.imshow('edges',cv2.imread('edges_py.jpg'))
import numpy as np
fd=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
cv2.imshow('edges',cv2.imread('edges_py.jpg'))
import numpy as np
fd=cv2.CascadeClassifier('C:\\Users\\Ayushi\\Downloads\\opencv\\sources\\data\\haarcascades_cuda\\haarcascade_frontalface_default.xml')
img=cv2.imread('mel.jpg')
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)   #Converting it to grayscale
faces=fd.detectMultiScale(gray,1.3,5)       #Performing the detection
for (x,y,w,h) in faces:
        img=cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),3)
cv2.imwrite('face_mel.jpg',img)

Đúng vậy

Sử dụng Python Computer Vision với OpenCV

Đúng vậy

Sử dụng Python Computer Vision với OpenCV

Ở đây, bạn có thể thấy rằng nó đã phát hiện ra ba mắt! một trong số đó là đôi môi của cô ấy. Dù sao thì điều này cũng chính xác rất nhiều lần, chúng tôi tình cờ bắt gặp một trong những bức ảnh tạo nên ngoại lệ. Hãy cho chúng tôi biết trong phần bình luận bên dưới nếu điều này đã xảy ra với bạn.

Vì vậy, tất cả đều có trong Hướng dẫn Thị giác Máy tính Python. Hy vọng bạn thích giải thích của chúng tôi.

Kết luận

Do đó, trong hướng dẫn Thị giác Máy tính Python này, chúng tôi đã thảo luận về ý nghĩa của Thị giác Máy tính trong Python AI. Hơn nữa, chúng tôi đã học phát hiện mắt trong Computer Vision Python. Lời giải thích này có hữu ích cho bạn không? Đưa ra phản hồi của bạn trong các bình luận.

Leave a Reply