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ạnPyAutoGUI 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ố 8Dò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]
0Trong 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]
1Dò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