Làm thế nào để python xác định hình ảnh?

PyAutoGUI có chức năng tích hợp có tên là

import pyautogui

pyautogui.screenshot('win10_logo.png', region=(0, 1041, 50, 39))
location = pyautogui.locateOnScreen('win10_logo.png')
pyautogui.click(location)
2 trả về tọa độ x, y của tâm hình ảnh nếu nó có thể tìm thấy nó trên màn hình hiện tại (chụp ảnh màn hình rồi phân tích)

Hình ảnh phải khớp chính xác để điều này hoạt động; . e. nếu bạn muốn nhấp vào một

import pyautogui

pyautogui.screenshot('win10_logo.png', region=(0, 1041, 50, 39))
location = pyautogui.locateOnScreen('win10_logo.png')
pyautogui.click(location)
3 thì hình ảnh nút đó phải có cùng kích thước/độ phân giải chính xác như nút trong cửa sổ của bạn để chương trình nhận ra nó. Một cách để đạt được điều này là chụp ảnh màn hình, mở nó bằng sơn và chỉ cắt bỏ nút bạn muốn nhấn (hoặc bạn có thể nhờ PyAutoGUI làm điều đó cho bạn như tôi sẽ trình bày trong ví dụ sau)

import pyautogui

question_list = ['greencircle', 'redcircle', 'bluesquare', 'redtriangle']

user_input = input('Where should I click? ')

while user_input not in question_list:
    print('Incorrect input, available options: greencircle, redcircle, bluesquare, redtriangle')
    user_input = input('Where should I click?')

location = pyautogui.locateOnScreen(user_input + '.png')
pyautogui.click(location)

Ví dụ trên yêu cầu bạn đã có

import pyautogui

pyautogui.screenshot('win10_logo.png', region=(0, 1041, 50, 39))
location = pyautogui.locateOnScreen('win10_logo.png')
pyautogui.click(location)
4 và tất cả những thứ khác. png trong thư mục của bạn

PyAutoGUI cũng có thể chụp ảnh màn hình và bạn có thể chỉ định vùng màn hình sẽ chụp

import pyautogui

pyautogui.screenshot('win10_logo.png', region=(0, 1041, 50, 39))
location = pyautogui.locateOnScreen('win10_logo.png')
pyautogui.click(location)
5 Hai giá trị đầu tiên là tọa độ x,y cho phía trên bên trái của vùng bạn muốn chọn, giá trị thứ ba là khoảng cách sang bên phải(

Ví dụ sau đây chụp ảnh màn hình Logo Windows 10, lưu nó vào một tệp, sau đó nhấp vào logo bằng cách sử dụng tùy chọn được chỉ định. tập tin png

import pyautogui

pyautogui.screenshot('win10_logo.png', region=(0, 1041, 50, 39))
location = pyautogui.locateOnScreen('win10_logo.png')
pyautogui.click(location)

Bạn cũng không cần phải lưu ảnh chụp màn hình vào một tệp, bạn chỉ có thể lưu nó dưới dạng một biến

import pyautogui

win10 = pyautogui.screenshot(region=(0, 1041, 50, 39))
location = pyautogui.locateOnScreen(win10)
pyautogui.click(location)

Làm cho chương trình phát hiện nếu người dùng đã nhấp vào một khu vực nhất định (giả sử logo windows 10) sẽ yêu cầu một thư viện khác như pynput

Với sự gia tăng và phổ biến của các thuật toán học sâu, đã có những tiến bộ ấn tượng trong lĩnh vực Trí tuệ nhân tạo, đặc biệt là trong Thị giác máy tính. Thập kỷ thứ hai của thế kỷ 21 đã chứng kiến ​​việc áp dụng nhanh chóng Mạng thần kinh chuyển đổi, phát minh ra các thuật toán tiên tiến nhất, sẵn có dữ liệu đào tạo khổng lồ và phát minh ra máy tính hiệu suất cao và tiết kiệm chi phí. Một trong những khái niệm chính trong Thị giác máy tính là phân loại hình ảnh; . Các hệ thống được hỗ trợ bởi các thuật toán tiên tiến hiện nay đã vượt qua khả năng của con người trong việc xác định các đối tượng trong hình ảnh và công nghệ này đang được các đại gia công nghệ, doanh nghiệp lớn và chính phủ sử dụng rộng rãi cho các mục đích như ứng dụng thông minh, trang web, thời tiết, nghiên cứu,

Tuy nhiên, công nghệ này, giống như những ngày đầu của máy tính và mạng toàn cầu nằm ngoài tầm với của các nhà phát triển, lập trình viên, doanh nghiệp quy mô nhỏ và cá nhân tương lai sẽ được hưởng lợi nhiều từ nó. Vấn đề này tồn tại chủ yếu là do thiếu bí quyết kỹ thuật để phát triển và sử dụng công nghệ này một cách độc lập. Đó là lý do tại sao chúng tôi đã phát triển và phát hành thư viện ImageAI python tóm tắt quá trình triển khai phức tạp và tốn thời gian của các thuật toán thị giác máy tính này, bằng cách cung cấp các hướng dẫn và API thân thiện với nhà phát triển và lập trình viên, giống như các ngôn ngữ lập trình như Java, Python,. NET và những người khác đã trừu tượng hóa các hướng dẫn lập trình trong Assembly và C. Bài viết này cung cấp hướng dẫn từng bước để thực hiện dự đoán hình ảnh hiện đại chỉ với 10 dòng mã

ImageAI là một thư viện Python được xây dựng để trao quyền cho các nhà phát triển xây dựng các ứng dụng và hệ thống với khả năng Thị giác máy tính độc lập. Bạn có thể tìm thấy tài liệu, mã mẫu và mã nguồn của ImageAI trên kho lưu trữ GitHub này

OlafenwaMoses/ImageAI

ImageAI - Một thư viện python được xây dựng để trao quyền cho các nhà phát triển xây dựng các ứng dụng và hệ thống với Máy tính độc lập…

github. com

Để bắt đầu, bạn cần làm quen với kiến ​​thức cơ bản về ngôn ngữ lập trình Python và cách sử dụng pip để cài đặt thư viện. Bạn sẽ chỉ phải làm theo các bước sau

1. Cài đặt Python3. 7. 6 và píp

(Bỏ qua phần này nếu bạn đã có Python 3. 7. 6)

Python phát hành Python 3. 7. 6

Ngày phát hành. Tháng mười hai. 18, 2019 Hiện đã có các bản phát hành sửa lỗi mới hơn của Python 3. 7 thay thế 3. 7. 6 và Trăn 3. 8 là…

www. con trăn. tổ chức

2. Cài đặt các phụ thuộc ImageAI

(Bỏ qua bất kỳ hướng dẫn cài đặt nào trong phần này nếu bạn đã cài đặt thư viện)

- Dòng chảy căng

pip install tensorflow==2.4.0

- Khác

pip install keras==2.4.3 numpy==1.19.3 pillow==7.0.0 scipy==1.4.1 h5py==2.10.0 matplotlib==3.3.2 opencv-python keras-resnet==0.2.0

3. Cài đặt thư viện ImageAI

pip install imageai --upgrade

4. Tải xuống tệp Mô hình ResNet đã được đào tạo trên bộ dữ liệu ImageNet-1000 và sao chép tệp vào thư mục dự án python của bạn

https. //github. com/OlafenwaMoses/ImageAI/releases/download/essentials-v5/resnet50_imagenet_tf. 2. 0. h5/

5. Tạo một tệp python có tên (ví dụ: “FirstPrediction. py”) và viết mã bên dưới vào đó

vật mẫu. jpg

Hình ảnh mẫu chúng tôi đang cố gắng dự đoán

kết quả mã

sports_car : 90.61029553413391
car_wheel : 5.9294357895851135
racer : 0.9972884319722652
convertible : 0.8457873947918415
grille : 0.581052340567112

Tin tôi đi, đó là tất cả mã bạn cần để thực hiện dự đoán hình ảnh trên một hình ảnh. Bây giờ hãy để chúng tôi chia nhỏ mã để bạn có thể hiểu cách thức hoạt động của nó. Đoạn mã trên hoạt động như sau

from imageai.Classification import ImageClassification
import os

Đoạn mã trên nhập lớp ImageAI ImagePrediction và lớp python os

________số 8

Dòng trên tạo một biến chứa tham chiếu đến đường dẫn chứa tệp python của bạn (trong ví dụ này là FirstPrediction của bạn. py) và tệp mô hình ResNet

prediction = ImageClassification()
prediction.setModelTypeAsResNet50()
prediction.setModelPath(execution_path + "\resnet50_imagenet_tf.2.0.h5")

Trong các dòng trên, chúng ta đã tạo một thể hiện của lớp ImagePrediction() trong dòng đầu tiên, sau đó chúng ta đặt kiểu mô hình của đối tượng dự đoán thành ResNet bằng cách gọi. setModelTypeAsResNet() trong dòng thứ hai và sau đó chúng tôi đặt đường dẫn mô hình của đối tượng dự đoán thành đường dẫn của tệp mô hình (resnet50_weights_tf_dim_ordering_tf_kernels. h5), chúng tôi đã sao chép vào thư mục thư mục dự án, ở dòng thứ ba

import pyautogui

pyautogui.screenshot('win10_logo.png', region=(0, 1041, 50, 39))
location = pyautogui.locateOnScreen('win10_logo.png')
pyautogui.click(location)
0

Trong dòng trên, chúng tôi đã xác định 2 biến bằng với hàm được gọi để dự đoán một hình ảnh, đó là. sortImage(), trong đó chúng tôi đã phân tích cú pháp đường dẫn đến hình ảnh của mình và cũng cho biết số lượng kết quả dự đoán mà chúng tôi muốn có (giá trị từ 1 đến 1000) phân tích cú pháp result_count=5. Các. hàm sortImage() sẽ trả về 2 đối tượng mảng với đối tượng đầu tiên (dự đoán) là một mảng các dự đoán và đối tượng thứ hai (percentage_probabilities) là một mảng xác suất phần trăm tương ứng cho mỗi dự đoán

import pyautogui

pyautogui.screenshot('win10_logo.png', region=(0, 1041, 50, 39))
location = pyautogui.locateOnScreen('win10_logo.png')
pyautogui.click(location)
1

Dòng trên lấy từng đối tượng trong mảng dự đoán và cũng lấy xác suất phần trăm tương ứng từ phần trăm_probabilities và cuối cùng in kết quả của cả hai vào bảng điều khiển

Các. , hàmclassImage() nhận đường dẫn đến một hình ảnh và cũng có thể cho biết số lượng dự đoán mà chúng tôi mong muốn hàm trả về (tùy chọn, mặc định là 5). Có 1000 mục trong tập dữ liệu ImageNet-1000 mà mô hình ResNet đã được đào tạo, có nghĩa là. hàm classImage sẽ trả về 1000 dự đoán có thể xảy ra, được sắp xếp theo thứ tự xác suất của chúng

Với ImageAI, bạn có thể tích hợp mã dự đoán hình ảnh một cách dễ dàng và thuận tiện vào bất kỳ ứng dụng, trang web hoặc hệ thống nào mà bạn xây dựng bằng python. Có các thuật toán và loại mô hình khác được hỗ trợ trong thư viện ImageAI, với một số thuật toán được tối ưu hóa cho tốc độ và một số khác được tối ưu hóa cho độ chính xác. Với ImageAI, chúng tôi hy vọng sẽ hỗ trợ các khía cạnh chuyên biệt hơn của Thị giác máy tính, bao gồm và không giới hạn ở nhận dạng hình ảnh trong các môi trường đặc biệt và các trường đặc biệt cũng như dự đoán hình ảnh tùy chỉnh

Các ví dụ và giải thích khác về thư viện ImageAI có sẵn thông qua liên kết đến kho lưu trữ bên dưới

Python có tốt cho nhận dạng hình ảnh không?

Python là một trong những ngôn ngữ lập trình được sử dụng rộng rãi cho mục đích này. Các thư viện và công cụ tuyệt vời của nó giúp đạt được nhiệm vụ xử lý hình ảnh rất hiệu quả .

Python có thể phân tích hình ảnh không?

Các kỹ thuật đọc lướt (scikit-image) đơn giản của Python và có thể được sử dụng để giải quyết các vấn đề phân tích hình ảnh thực . Các vấn đề về hình học liên quan đến số lượng, hình dạng và/hoặc kích thước của các đối tượng trong một hình ảnh.

Làm thế nào hình ảnh được phát hiện?

Nhận dạng hình ảnh là khả năng AI phát hiện đối tượng, phân loại và nhận dạng đối tượng . Bước cuối gần với mức xử lý ảnh của con người. Ví dụ tốt nhất về các giải pháp nhận dạng hình ảnh là nhận dạng khuôn mặt – giả sử, để mở khóa điện thoại thông minh của bạn, bạn phải để nó quét khuôn mặt của bạn.

Máy học nhận dạng hình ảnh như thế nào?

Máy không xem được toàn bộ hình ảnh; . Họ chỉ cần lấy các mẫu pixel của một mục và so sánh chúng với các mẫu khác .