Hướng dẫn python record screen - màn hình ghi python

Tôi muốn xây dựng dự án đọc các văn bản liên tục từ một phần của màn hình PC của tôi và hiển thị chúng trên bảng điều khiển của Pycharm

Nội dung chính ShowShow

  • Pytesseract
  • Trước khi bạn đi
  • Làm thế nào để bạn hiển thị văn bản trên màn hình trong Python?
  • Làm thế nào để Python nhận ra văn bản trong một hình ảnh?
  • Hàm Python nào đặt văn bản lên màn hình?
  • Làm cách nào để mở cửa sổ Tệp văn bản trong Python?

Nội phân Chính showShowShow

  • Pytesseract
  • Trước khi bạn đi
  • Làm thế nào để bạn hiển thị văn bản trên màn hình trong Python?
  • Làm thế nào để Python nhận ra văn bản trong một hình ảnh?
  • Hàm Python nào đặt văn bản lên màn hình?
  • Làm cách nào để mở cửa sổ Tệp văn bản trong Python?

Nội phân Chính showShow

Tôi đang sử dụng Python 3, tất cả các mô -đun được cài đặt bằng PIP từ bảng điều khiển Pycharm.

import time
import cv2
import mss
import numpy
import pytesseract


mon = {'top': 0, 'left': 0, 'width': 150, 'height': 150}

with mss.mss() as sct:
    while True:
        im = numpy.asarray(sct.grab(mon))
        # im = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)

        text = pytesseract.image_to_string(im)
        print(text)

        cv2.imshow('Image', im)

        # Press "q" to quit
        if cv2.waitKey(25) & 0xFF == ord('q'):
            cv2.destroyAllWindows()
            break

        # One screenshot per second
        time.sleep(1)

Tôi đã sử dụng mã này:

C:\Users\ali91\PycharmProjects\OCR\venv\Scripts\python.exe
"C:/Users/ali91/PycharmProjects/OCR/lesson 1.py" Traceback (most
recent call last):   File
"C:\Users\ali91\PycharmProjects\OCR\venv\lib\site-packages\pytesseract\pytesseract.py",
line 252, in run_tesseract
    proc = subprocess.Popen(cmd_args, **subprocess_args())   File "C:\Program Files\Python39\lib\subprocess.py", line 947, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,   File "C:\Program Files\Python39\lib\subprocess.py", line 1416, in
_execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] The system cannot find the file
specified

During handling of the above exception, another exception occurred:

Traceback (most recent call last):   File
"C:\Users\ali91\PycharmProjects\OCR\lesson 1.py", line 15, in 
    text = pytesseract.image_to_string(im)   File "C:\Users\ali91\PycharmProjects\OCR\venv\lib\site-packages\pytesseract\pytesseract.py",
line 413, in image_to_string
    return {   File "C:\Users\ali91\PycharmProjects\OCR\venv\lib\site-packages\pytesseract\pytesseract.py",
line 416, in 
    Output.STRING: lambda: run_and_get_output(*args),   File "C:\Users\ali91\PycharmProjects\OCR\venv\lib\site-packages\pytesseract\pytesseract.py",
line 284, in run_and_get_output
    run_tesseract(**kwargs)   File "C:\Users\ali91\PycharmProjects\OCR\venv\lib\site-packages\pytesseract\pytesseract.py",
line 256, in run_tesseract
    raise TesseractNotFoundError() pytesseract.pytesseract.TesseractNotFoundError: tesseract is not
installed or it's not in your PATH. See README file for more
information.

Có lỗi này mà tôi không thể giải quyết:

Đối phó với hình ảnh không phải là một nhiệm vụ tầm thường. Đối với bạn, với tư cách là một con người, nó dễ dàng nhìn vào một cái gì đó và ngay lập tức biết bạn đang nhìn vào cái gì. Nhưng máy tính don lồng làm việc theo cách đó.

Ảnh của Lenin Estrada trên unplashexact opposite applies — tasks that are trivial to you, like recognizing is it cat or dog in an image are really hard for a computer. In a way, we are a perfect match. For now at least.

Các nhiệm vụ quá khó đối với bạn, như arithmetics phức tạp và toán học nói chung, là thứ mà máy tính nhai mà không đổ mồ hôi. Nhưng ở đây, các áp dụng hoàn toàn ngược lại - các nhiệm vụ tầm thường đối với bạn, giống như nhận ra nó là mèo hoặc chó trong một hình ảnh thực sự rất khó đối với máy tính. Theo một cách nào đó, chúng tôi là một kết hợp hoàn hảo. Ít nhất cho tới hiện tại.exact opposite applies — tasks that are trivial to you, like recognizing is it cat or dog in an image are really hard for a computer. In a way, we are a perfect match. For now at least.

Mặc dù phân loại hình ảnh và các tác vụ liên quan đến một số mức độ tầm nhìn máy tính có thể yêu cầu một chút mã tốt và sự hiểu biết vững chắc, việc đọc văn bản từ một hình ảnh có định dạng rõ ràng hóa ra là một lớp phủ trong Python và có thể được áp dụng cho SO SO SO SO SO SO SO Nhiều vấn đề thực tế.

  • Và trong bài viết hôm nay, tôi muốn chứng minh tuyên bố đó. Mặc dù vậy, sẽ có một số cài đặt để đi, nhưng nó không nên mất nhiều thời gian. Đây là những thư viện mà bạn cần:
  • Pytesseract

Trước khi bạn đi

Và trong bài viết hôm nay, tôi muốn chứng minh tuyên bố đó. Mặc dù vậy, sẽ có một số cài đặt để đi, nhưng nó không nên mất nhiều thời gian. Đây là những thư viện mà bạn cần:

OpenCV

Tôi không muốn prolapt phần giới thiệu này nữa, vậy tại sao bây giờ chúng tôi lại nhảy vào những thứ tốt.

Bây giờ, thư viện này sẽ chỉ được sử dụng để tải (các) hình ảnh, bạn không thực sự cần phải hiểu rõ về nó (mặc dù nó có thể hữu ích, bạn sẽ thấy lý do tại sao).

Theo tài liệu chính thức:image transformations, it’s fairly straightforward library.

OpenCV (Thư viện tầm nhìn máy tính nguồn mở) là một thư viện phần mềm máy tính và máy tính mở nguồn mở. OpenCV được xây dựng để cung cấp một cơ sở hạ tầng phổ biến cho các ứng dụng tầm nhìn máy tính và để đẩy nhanh việc sử dụng nhận thức máy trong các sản phẩm thương mại. Là một sản phẩm được cấp phép BSD, OpenCV giúp các doanh nghiệp dễ dàng sử dụng và sửa đổi mã. [1]image transformations, it’s fairly straightforward library.

pip install opencv-python

Tóm lại, bạn có thể sử dụng OpenCV để thực hiện bất kỳ loại biến đổi hình ảnh nào, nó là thư viện khá đơn giản.

Pytesseract

Nếu bạn không cài đặt nó, nó sẽ chỉ là một dòng duy nhất trong thiết bị đầu cuối: Well, according to Wikipedia:

Và điều đó khá nhiều. Thật dễ dàng cho đến thời điểm này, nhưng điều đó sắp thay đổi. Well, according to Wikipedia:

Thư viện này là cái quái gì? Vâng, theo Wikipedia:

Tesseract là một công cụ nhận dạng ký tự quang học cho các hệ điều hành khác nhau. Đó là phần mềm miễn phí, được phát hành theo giấy phép Apache, phiên bản 2.0 và phát triển đã được Google tài trợ từ năm 2006. [2]

Bây giờ tôi chắc chắn có những thư viện tinh vi hơn hiện có, nhưng tôi đã tìm thấy cái này hoạt động khá tốt. Dựa trên kinh nghiệm của riêng tôi, thư viện này sẽ có thể đọc văn bản từ bất kỳ hình ảnh nào, với điều kiện là phông chữ không phải là một số con bò đực *** mà ngay cả bạn cũng có thể đọc được.sudo-apt get commands:

sudo apt-get update
sudo apt-get install tesseract-ocr
sudo apt-get install libtesseract-dev

Nếu nó có thể đọc được từ hình ảnh của bạn, hãy dành nhiều thời gian hơn để chơi với OpenCV, áp dụng các bộ lọc khác nhau để làm cho văn bản nổi bật.sudo-apt get commands:

Bây giờ việc cài đặt là một chút đau ở phía dưới. Nếu bạn đang sử dụng Linux, tất cả đều sôi sục với một vài lệnh sudo-apt get:

Tôi trên Windows, vì vậy quá trình này tẻ nhạt hơn một chút.Next a couple of times. And yeah, you also need to do a pip installation:

pip install pytesseract

Đầu tiên, hãy mở URL này và tải xuống Trình cài đặt 32bit hoặc 64bit:Next a couple of times. And yeah, you also need to do a pip installation: Well, no. You still need to tell Python where Tesseract is installed. On Linux machines, I didn’t have to do so, but it’s required on Windows. By default, it’s installed in Program Files.

Đó là tất cả? Ồ không. Bạn vẫn cần nói với Python nơi Tesseract được cài đặt. Trên các máy Linux, tôi đã không phải làm như vậy, nhưng nó yêu cầu trên Windows. Theo mặc định, nó được cài đặt trong các tệp chương trình.

Nếu bạn đã làm mọi thứ một cách chính xác, việc thực hiện ô này sẽ không gây ra bất kỳ lỗi nào: You may proceed. You may proceed.

Trước khi bạn đi

Mọi thứ có tốt không? Bạn có thể tiến hành.

Đọc văn bản từ một hình ảnh là một nhiệm vụ khá khó khăn cho máy tính thực hiện. Hãy nghĩ về nó, máy tính không biết chữ cái là gì, nó chỉ hoạt động với các con số. Những gì xảy ra đằng sau mui xe ban đầu có vẻ như là một hộp đen, nhưng tôi khuyến khích bạn điều tra thêm nếu đây là khu vực mà bạn quan tâm.

Tôi không nói rằng Pytesseract sẽ hoạt động hoàn hảo mỗi lần, nhưng tôi đã thấy nó đủ tốt ngay cả trên một số hình ảnh khó khăn hơn. Nhưng không thẳng ra khỏi hộp. Một số thao tác hình ảnh được yêu cầu để làm cho văn bản nổi bật.

Yêu thích bài báo? Trở thành một thành viên trung bình để tiếp tục học tập mà không giới hạn. Tôi sẽ nhận được một phần phí thành viên của bạn nếu bạn sử dụng liên kết sau, không có thêm chi phí cho bạn.

Làm thế nào để bạn hiển thị văn bản trên màn hình trong Python?

Trong Python, câu lệnh in được sử dụng để hiển thị văn bản. Trong Python với câu lệnh in, bạn có thể sử dụng trích dẫn đơn (') hoặc trích dẫn kép (").print statement is used to display text. In python with the print statement, you can use Single Quotes(') or Double Quotes(").print statement is used to display text. In python with the print statement, you can use Single Quotes(') or Double Quotes(").

Làm thế nào để Python nhận ra văn bản trong một hình ảnh?

Bây giờ chúng ta có mọi thứ chúng ta cần và có thể dễ dàng trích xuất văn bản từ hình ảnh bằng Python:...

Từ hình ảnh nhập khẩu PIL ..

từ pytesseract nhập pytesseract ..

img = hình ảnh. Mở (path_to_image).

Text = pytesseract. Image_to_String (IMG).

print(text).

Hàm Python nào đặt văn bản lên màn hình?

Giới thiệu. Hàm print () của Python thường được sử dụng để hiển thị văn bản trong dòng lệnh hoặc trong trình thông dịch tương tác, tùy thuộc vào cách thực thi chương trình Python. Tuy nhiên, chúng ta có thể thay đổi hành vi của nó để viết văn bản vào một tệp thay vì vào bảng điều khiển.print() function is typically used to display text either in the command-line or in the interactive interpreter, depending on how the Python program is executed. However, we can change its behavior to write text to a file instead of to the console.print() function is typically used to display text either in the command-line or in the interactive interpreter, depending on how the Python program is executed. However, we can change its behavior to write text to a file instead of to the console.

Làm cách nào để mở cửa sổ Tệp văn bản trong Python?

Để đọc một tệp văn bản trong Python, bạn làm theo các bước sau: Đầu tiên, hãy mở một tệp văn bản để đọc bằng cách sử dụng hàm Open (). Thứ hai, đọc văn bản từ tệp văn bản bằng cách sử dụng phương thức read (), readline () hoặc readlines () của đối tượng tệp. ... 1) Hàm mở () ..