Hướng dẫn detect text orientation in image python - phát hiện hướng văn bản trong python hình ảnh

Một thành phần thiết yếu của bất kỳ hệ thống OCR nào là tiền xử lý hình ảnh - hình ảnh đầu vào chất lượng bạn có trên động cơ OCR càng cao, đầu ra OCR của bạn sẽ càng tốt. Để thành công trong OCR, bạn cần xem lại bước xử lý trước quan trọng nhất: Định hướng văn bản.image preprocessing — the higher the quality input image you present to the OCR engine, the better your OCR output will be. To be successful in OCR, you need to review arguably the most important pre-processing step: text orientation.

Hướng dẫn detect text orientation in image python - phát hiện hướng văn bản trong python hình ảnh

Để tìm hiểu cách thực hiện định hướng văn bản với Tesseract và Python, chỉ cần tiếp tục đọc.just keep reading.

Định hướng văn bản đề cập đến góc xoay của một đoạn văn bản trong một hình ảnh. Một từ nhất định, câu hoặc đoạn văn sẽ trông giống như một động cơ OCR nếu văn bản được xoay đáng kể. Động cơ OCR là thông minh, nhưng giống như con người, chúng không được đào tạo để đọc lộn ngược!

Do đó, bước đầu tiên quan trọng trong việc chuẩn bị dữ liệu hình ảnh của bạn cho OCR là phát hiện hướng văn bản (nếu có) và sau đó sửa hướng văn bản. Từ đó, bạn có thể trình bày hình ảnh đã sửa cho động cơ OCR của bạn (và lý tưởng nhất có độ chính xác OCR cao hơn).

Mục tiêu học tập

Trong hướng dẫn này, bạn sẽ học:

  1. Khái niệm về định hướng và phát hiện kịch bản (OSD)
  2. Cách phát hiện tập lệnh văn bản (tức là, hệ thống viết) với Tesseract
  3. Cách phát hiện hướng văn bản bằng cách sử dụng Tesseract
  4. Cách tự động sửa hướng định hướng văn bản với opencv

Định cấu hình môi trường phát triển của bạn

Để làm theo hướng dẫn này, bạn cần cài đặt thư viện OpenCV trên hệ thống của bạn.

May mắn thay, OpenCV không thể cài đặt được:

$ pip install opencv-contrib-python

Nếu bạn cần trợ giúp định cấu hình môi trường phát triển của mình cho OpenCV, tôi khuyên bạn nên đọc hướng dẫn OpenCV cài đặt PIP của tôi - nó sẽ giúp bạn và chạy trong vài phút.pip install OpenCV guide — it will have you up and running in a matter of minutes.

Có vấn đề cấu hình môi trường phát triển của bạn?

Hướng dẫn detect text orientation in image python - phát hiện hướng văn bản trong python hình ảnh
Hình 1: Gặp khó khăn trong việc cấu hình môi trường dev của bạn? Bạn muốn truy cập vào các máy tính xách tay Jupyter được cấu hình sẵn chạy trên Google Colab? Hãy chắc chắn tham gia Đại học Pyimageearch - bạn sẽ tiếp tục và chạy với hướng dẫn này trong vài phút.Having trouble configuring your dev environment? Want access to pre-configured Jupyter Notebooks running on Google Colab? Be sure to join PyImageSearch University — you’ll be up and running with this tutorial in a matter of minutes.

Tất cả những gì đã nói, là bạn:

  • Ngắn gọn về thời gian?
  • Học trên hệ thống bị khóa hành chính của nhà tuyển dụng?
  • Muốn bỏ qua những rắc rối khi chiến đấu với dòng lệnh, người quản lý gói và môi trường ảo?
  • Sẵn sàng để chạy mã ngay bây giờ trên hệ thống Windows, MacOS hoặc Linux của bạn?right now on your Windows, macOS, or Linux system?

Sau đó tham gia Đại học Pyimageearch ngay hôm nay!

Có quyền truy cập vào các máy tính xách tay Jupyter cho hướng dẫn này và các hướng dẫn PyimageSearch khác được cấu hình sẵn để chạy trên hệ sinh thái Google Colab, ngay trong trình duyệt web của bạn! Không cần cài đặt.pre-configured to run on Google Colab’s ecosystem right in your web browser! No installation required.

Và tốt nhất, những máy tính xách tay Jupyter này sẽ chạy trên Windows, MacOS và Linux!

Định hướng và phát hiện kịch bản là gì?

Trước khi chúng tôi tự động phát hiện và chính xác định hướng văn bản với Tesseract, trước tiên chúng tôi cần thảo luận về khái niệm định hướng và phát hiện tập lệnh (OSD). Tesseract có một số chế độ khác nhau mà bạn có thể sử dụng khi tự động phát hiện và văn bản OCR. Một số trong các chế độ này thực hiện OCR toàn diện của hình ảnh đầu vào, trong khi các chế độ khác xuất ra dữ liệu meta như thông tin văn bản, định hướng, v.v. (tức là, các chế độ OSD của bạn). Chế độ OSD của Tesseract sẽ cung cấp cho bạn hai giá trị đầu ra:orientation and script detection (OSD). Tesseract has several different modes that you can use when automatically detecting and OCR’ing text. Some of these modes perform a full-blown OCR of the input image, while others output meta-data such as text information, orientation, etc. (i.e., your OSD modes). Tesseract’s OSD mode is going to give you two output values:

  • Định hướng văn bản: Góc xoay ước tính (tính bằng độ) của văn bản trong hình ảnh đầu vào.The estimated rotation angle (in degrees) of the text in the input image.
  • Kịch bản: Hệ thống viết được dự đoán trên mạng của văn bản trong hình ảnh.The predicted “writing system” of the text in the image.

Hình 2 cho thấy một ví dụ về các hướng văn bản khác nhau. Khi ở chế độ OSD, Tesseract sẽ phát hiện các hướng này và cho chúng tôi biết cách sửa hướng. shows an example of varying text orientations. When in OSD mode, Tesseract will detect these orientations and tell us how to correct the orientation.

Hướng dẫn detect text orientation in image python - phát hiện hướng văn bản trong python hình ảnh
Hình 2. Trong chế độ OSD, Tesseract có thể phát hiện định hướng văn bản và loại tập lệnh. Từ đó, chúng ta có thể xoay văn bản trở lại 0 ° với OpenCV.In OSD mode, Tesseract can detect text orientation and script type. From there, we can rotate the text back to 0° with OpenCV.

Một hệ thống viết là một phương pháp trực quan để truyền đạt thông tin, nhưng không giống như lời nói, một hệ thống viết cũng bao gồm khái niệm về việc lưu trữ của người Hồi giáo và chuyển giao kiến ​​thức.

Khi chúng tôi đặt bút vào giấy, các nhân vật chúng tôi sử dụng là một phần của hệ thống tập lệnh/viết. Những nhân vật này có thể được chúng tôi và những người khác đọc, do đó truyền đạt và chuyển giao kiến ​​thức từ người viết. Ngoài ra, kiến ​​thức này được lưu trữ trên tờ giấy, có nghĩa là nếu chúng ta chết, kiến ​​thức còn lại trên tờ giấy đó có thể được truyền cho những người khác có thể đọc kịch bản/hệ thống viết của chúng ta.

Hình 2 cũng cung cấp các ví dụ về các tập lệnh và hệ thống viết khác nhau, bao gồm tiếng Latin (tập lệnh được sử dụng bằng tiếng Anh và các ngôn ngữ khác) và Abjad (tập lệnh cho tiếng Do Thái giữa các ngôn ngữ khác). Khi được đặt ở chế độ OSD, Tesseract tự động phát hiện hệ thống viết văn bản trong hình ảnh đầu vào. also provides examples of various scripts and writing systems, including Latin (the script used in English and other languages) and Abjad (the script for Hebrew amid other languages). When placed in OSD mode, Tesseract automatically detects the text’s writing system in the input image.

Nếu bạn mới sử dụng khái niệm về các tập lệnh/hệ thống viết, tôi thực sự khuyên bạn nên đọc bài viết xuất sắc của Wikipedia, về chủ đề này. Nó có một bài đọc tuyệt vời bao gồm lịch sử của các hệ thống viết và cách họ phát triển.

Phát hiện và sửa hướng định hướng văn bản với Tesseract

Bây giờ chúng tôi đã hiểu những điều cơ bản của OSD, hãy để Lừa chuyển sang phát hiện và sửa chữa định hướng văn bản với Tesseract. Chúng tôi sẽ bắt đầu với một đánh giá nhanh về cấu trúc thư mục dự án của chúng tôi. Từ đó, tôi sẽ chỉ cho bạn cách thực hiện hiệu chỉnh định hướng văn bản. Chúng tôi sẽ kết thúc hướng dẫn này với một cuộc thảo luận về kết quả của chúng tôi.

Cấu trúc dự án

Hãy cùng đi sâu vào cấu trúc thư mục cho dự án này:

|-- images
|   |-- normal.png
|   |-- rotated_180.png
|   |-- rotated_90_clockwise.png
|   |-- rotated_90_counter_clockwise.png
|   |-- rotated_90_counter_clockwise_hebrew.png
|-- detect_orientation.py

Tất cả các mã để phát hiện và định hướng văn bản chính xác được chứa trong tập lệnh detect_orientation.py Python và được triển khai trong ít hơn 35 dòng mã, bao gồm cả các bình luận. Chúng tôi sẽ kiểm tra mã bằng cách sử dụng một lựa chọn images/ có trong thư mục dự án.

Thực hiện định hướng văn bản và tập lệnh hiệu chỉnh của chúng tôi

Hãy bắt đầu thực hiện Trình sửa chữa định hướng văn bản của chúng tôi với Tesseract và OpenCV.

Mở một tệp mới, đặt tên cho nó detect_orientation.py và chèn mã sau:

# import the necessary packages
from pytesseract import Output
import pytesseract
import argparse
import imutils
import cv2

# construct the argument parser and parse the arguments
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", required=True,
	help="path to input image to be OCR'd")
args = vars(ap.parse_args())

Một nhập khẩu mà bạn có thể không nhận ra lúc đầu là lớp PyTesseract từ

|-- images
|   |-- normal.png
|   |-- rotated_180.png
|   |-- rotated_90_clockwise.png
|   |-- rotated_90_counter_clockwise.png
|   |-- rotated_90_counter_clockwise_hebrew.png
|-- detect_orientation.py
1 (https://github.com/madmaze/pytesseract). Lớp này chỉ đơn giản chỉ định bốn kiểu dữ liệu bao gồm
|-- images
|   |-- normal.png
|   |-- rotated_180.png
|   |-- rotated_90_clockwise.png
|   |-- rotated_90_counter_clockwise.png
|   |-- rotated_90_counter_clockwise_hebrew.png
|-- detect_orientation.py
2 mà chúng tôi sẽ tận dụng.

Đối số dòng lệnh Lone của chúng tôi là đầu vào của chúng tôi

|-- images
|   |-- normal.png
|   |-- rotated_180.png
|   |-- rotated_90_clockwise.png
|   |-- rotated_90_counter_clockwise.png
|   |-- rotated_90_counter_clockwise_hebrew.png
|-- detect_orientation.py
3 là OCR. Hãy để tải đầu vào ngay bây giờ:

# load the input image, convert it from BGR to RGB channel ordering,
# and use Tesseract to determine the text orientation
image = cv2.imread(args["image"])
rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
results = pytesseract.image_to_osd(rgb, output_type=Output.DICT)

# display the orientation information
print("[INFO] detected orientation: {}".format(
	results["orientation"]))
print("[INFO] rotate by {} degrees to correct".format(
	results["rotate"]))
print("[INFO] detected script: {}".format(results["script"]))

Các dòng 16 và 17 Tải đầu vào của chúng tôi

|-- images
|   |-- normal.png
|   |-- rotated_180.png
|   |-- rotated_90_clockwise.png
|   |-- rotated_90_counter_clockwise.png
|   |-- rotated_90_counter_clockwise_hebrew.png
|-- detect_orientation.py
3 và các kênh màu hoán đổi để nó tương thích với tesseract.load our input
|-- images
|   |-- normal.png
|   |-- rotated_180.png
|   |-- rotated_90_clockwise.png
|   |-- rotated_90_counter_clockwise.png
|   |-- rotated_90_counter_clockwise_hebrew.png
|-- detect_orientation.py
3 and swap color channels so that it is compatible with Tesseract.

Từ đó, chúng tôi áp dụng định hướng và phát hiện tập lệnh (OSD) cho hình ảnh

|-- images
|   |-- normal.png
|   |-- rotated_180.png
|   |-- rotated_90_clockwise.png
|   |-- rotated_90_counter_clockwise.png
|   |-- rotated_90_counter_clockwise_hebrew.png
|-- detect_orientation.py
5 trong khi chỉ định
|-- images
|   |-- normal.png
|   |-- rotated_180.png
|   |-- rotated_90_clockwise.png
|   |-- rotated_90_counter_clockwise.png
|   |-- rotated_90_counter_clockwise_hebrew.png
|-- detect_orientation.py
6 (dòng 18) của chúng tôi. Sau đó, chúng tôi hiển thị thông tin định hướng và tập lệnh trong thiết bị đầu cuối (có trong từ điển
|-- images
|   |-- normal.png
|   |-- rotated_180.png
|   |-- rotated_90_clockwise.png
|   |-- rotated_90_counter_clockwise.png
|   |-- rotated_90_counter_clockwise_hebrew.png
|-- detect_orientation.py
7) bao gồm:orientation and script detection (OSD) to the
|-- images
|   |-- normal.png
|   |-- rotated_180.png
|   |-- rotated_90_clockwise.png
|   |-- rotated_90_counter_clockwise.png
|   |-- rotated_90_counter_clockwise_hebrew.png
|-- detect_orientation.py
5 image while specifying our
|-- images
|   |-- normal.png
|   |-- rotated_180.png
|   |-- rotated_90_clockwise.png
|   |-- rotated_90_counter_clockwise.png
|   |-- rotated_90_counter_clockwise_hebrew.png
|-- detect_orientation.py
6 (Line 18). We then display the orientation and script information in the terminal (contained in the
|-- images
|   |-- normal.png
|   |-- rotated_180.png
|   |-- rotated_90_clockwise.png
|   |-- rotated_90_counter_clockwise.png
|   |-- rotated_90_counter_clockwise_hebrew.png
|-- detect_orientation.py
7 dictionary) including:

  • Định hướng hiện tại
  • Có bao nhiêu độ để xoay hình ảnh để điều chỉnh hướng của nó
  • Loại kịch bản được phát hiện, chẳng hạn như tiếng Latin hoặc tiếng Ả Rập

Đưa ra thông tin này, tiếp theo, chúng tôi sẽ sửa định hướng văn bản:

# rotate the image to correct the orientation
rotated = imutils.rotate_bound(image, angle=results["rotate"])

# show the original image and output image after orientation
# correction
cv2.imshow("Original", image)
cv2.imshow("Output", rotated)
cv2.waitKey(0)

Sử dụng phương pháp Imutils

|-- images
|   |-- normal.png
|   |-- rotated_180.png
|   |-- rotated_90_clockwise.png
|   |-- rotated_90_counter_clockwise.png
|   |-- rotated_90_counter_clockwise_hebrew.png
|-- detect_orientation.py
8 của tôi (http://pyimg.co/vebvn), chúng tôi xoay hình ảnh đảm bảo rằng toàn bộ hình ảnh vẫn hiển thị hoàn toàn trong kết quả (dòng 28). Nếu chúng tôi sử dụng phương pháp
|-- images
|   |-- normal.png
|   |-- rotated_180.png
|   |-- rotated_90_clockwise.png
|   |-- rotated_90_counter_clockwise.png
|   |-- rotated_90_counter_clockwise_hebrew.png
|-- detect_orientation.py
9 chung của OpenCV, các góc của hình ảnh sẽ bị cắt. Cuối cùng, chúng tôi hiển thị cả hình ảnh gốc và hình ảnh cho đến khi nhấn phím (dòng 32-34).Line 28). Had we used OpenCV’s generic
|-- images
|   |-- normal.png
|   |-- rotated_180.png
|   |-- rotated_90_clockwise.png
|   |-- rotated_90_counter_clockwise.png
|   |-- rotated_90_counter_clockwise_hebrew.png
|-- detect_orientation.py
9 method, the corners of the image would have been cut off. Finally, we display both the original and rotated images until a key is pressed (Lines 32-34).

Định hướng văn bản và kết quả hiệu chỉnh

Bây giờ chúng tôi đã sẵn sàng để áp dụng văn bản OSD! Mở thiết bị đầu cuối và thực hiện lệnh sau:

$ python detect_orientation.py --image images/normal.png
[INFO] detected orientation: 0
[INFO] rotate by 0 degrees to correct
[INFO] detected script: Latin

Hình 3 hiển thị kết quả phát hiện tập lệnh và định hướng của chúng tôi. Lưu ý rằng hình ảnh đầu vào chưa được xoay, ngụ ý hướng là 0 °. Không cần điều chỉnh xoay. Kịch bản sau đó được phát hiện dưới dạng tiếng Latin. displays the results of our script and orientation detection. Notice that the input image has not been rotated, implying the orientation is 0°. No rotation correction is required. The script is then detected as “Latin.”

Hướng dẫn detect text orientation in image python - phát hiện hướng văn bản trong python hình ảnh
Hình 3. Ảnh chụp màn hình này từ một trong các bài đăng trên blog tự động của tôi đã được định hướng đúng. Do đó, đầu vào giống như đầu ra sau khi sửa cho hướng văn bản với tesseract.This screenshot from one of my autoencoder blog posts is already properly oriented. Thus, the input is the same as the output after correcting for text orientation with Tesseract.

Hãy để thử một hình ảnh khác, hình ảnh này với văn bản xoay:

$ python detect_orientation.py --image images/rotated_90_clockwise.png
[INFO] detected orientation: 90
[INFO] rotate by 270 degrees to correct
[INFO] detected script: Latin

Hình 4 cho thấy hình ảnh đầu vào gốc, chứa văn bản xoay. Sử dụng Tesseract ở chế độ OSD, chúng ta có thể phát hiện rằng văn bản trong hình ảnh đầu vào có hướng 90 ° - chúng ta có thể sửa hướng này bằng cách xoay hình ảnh 270 ° (tức là, −90 °). Và một lần nữa, tập lệnh được phát hiện là tiếng Latin. shows the original input image, which contains rotated text. Using Tesseract in OSD mode, we can detect that the text in the input image has an orientation of 90°— we can correct this orientation by rotating the image 270°(i.e., −90°). And once again, the detected script is Latin.

Hướng dẫn detect text orientation in image python - phát hiện hướng văn bản trong python hình ảnh
Hình 4. Như bạn có thể thấy, đầu vào không được định hướng theo cách chúng ta đọc từ bên này sang bên kia. Tesseract và OSD phát hiện ra rằng hình ảnh được xoay 90 °. Từ đó, chúng tôi sử dụng OpenCV để xoay hình ảnh 90 ° để chống lại và định hướng lại hình ảnh.As you can see, the input is not oriented in the way that we read side-to-side. Tesseract and OSD detect that the image is rotated 90°. From there, we use OpenCV to rotate the image 90° to counteract and re-orient the image.

Chúng tôi sẽ kết thúc hướng dẫn này với một ví dụ cuối cùng, đây là một trong những văn bản không phải là Latin:

$ python detect_orientation.py \
    --image images/rotated_90_counter_clockwise_hebrew.png
[INFO] detected orientation: 270
[INFO] rotate by 90 degrees to correct
[INFO] detected script: Hebrew

Hình 5 cho thấy hình ảnh văn bản đầu vào của chúng tôi. Sau đó, chúng tôi phát hiện tập lệnh (tiếng Do Thái) và sửa hướng của nó bằng cách xoay văn bản 90 °. shows our input text image. We then detect the script (Hebrew) and correct its orientation by rotating the text 90°.

Hướng dẫn detect text orientation in image python - phát hiện hướng văn bản trong python hình ảnh
Hình 5. Tesseract có thể phát hiện rằng hình ảnh đầu vào tiếng Do Thái này được xoay 270 ° với OSD. Chúng tôi sử dụng OpenCV để xoay hình ảnh bằng 90 ° để khắc phục vấn đề định hướng này.Tesseract can detect that this Hebrew input image is rotated 270° with OSD. We use OpenCV to rotate the image by 90° to correct this orientation problem.

Như bạn có thể thấy, Tesseract làm cho văn bản OSD trở nên dễ dàng!

Cái gì tiếp theo? Tôi đề nghị Đại học Pyimageearch.

Thông tin khóa học: 53+ Tổng số lớp • 57 giờ video hướng dẫn theo yêu cầu • Cập nhật lần cuối: Tháng 10 năm 2022
53+ total classes • 57+ hours of on-demand code walkthrough videos • Last updated: October 2022
★★★★★ 4.84 (128 Ratings) • 15,800+ Students Enrolled

Tôi tin tưởng mạnh mẽ rằng nếu bạn có một giáo viên phù hợp, bạn có thể làm chủ tầm nhìn máy tính và học sâu.

Bạn có nghĩ rằng việc học tầm nhìn máy tính và học tập sâu phải tốn thời gian, quá sức và phức tạp? Hoặc phải liên quan đến toán học và phương trình phức tạp? Hoặc yêu cầu bằng cấp về khoa học máy tính?

Đó không phải là trường hợp.

Tất cả những gì bạn cần để làm chủ tầm nhìn máy tính và học tập sâu là để ai đó giải thích mọi thứ với bạn bằng các thuật ngữ đơn giản, trực quan. Và đó chính xác là những gì tôi làm. Nhiệm vụ của tôi là thay đổi giáo dục và các chủ đề trí tuệ nhân tạo phức tạp được dạy như thế nào.

Nếu bạn nghiêm túc về việc học tầm nhìn máy tính, điểm dừng tiếp theo của bạn sẽ là Đại học Pyimageearch, tầm nhìn máy tính toàn diện nhất, học sâu và khóa học OpenCV trực tuyến ngày hôm nay. Tại đây, bạn sẽ học cách áp dụng thành công và tự tin tầm nhìn máy tính vào công việc, nghiên cứu và dự án của bạn. Tham gia với tôi trong Mastery Mastery Mastery.

Bên trong Đại học Pyimageearch, bạn sẽ tìm thấy:

  • ✓ Hơn 53 khóa học về tầm nhìn máy tính thiết yếu, học tập sâu và chủ đề OpenCV53+ courses on essential computer vision, deep learning, and OpenCV topics
  • ✓ 53+ Giấy chứng nhận hoàn thành53+ Certificates of Completion
  • ✓ Hơn 57 giờ video theo yêu cầu57+ hours of on-demand video
  • ✓ Các khóa học hoàn toàn mới được phát hành thường xuyên, đảm bảo bạn có thể theo kịp các kỹ thuật tiên tiếnBrand new courses released regularly, ensuring you can keep up with state-of-the-art techniques
  • ✓ Sổ tay Jupyter được cấu hình sẵn trong Google ColabPre-configured Jupyter Notebooks in Google Colab
  • ✓ Chạy tất cả các ví dụ mã trong trình duyệt web của bạn - hoạt động trên Windows, MacOS và Linux (không yêu cầu cấu hình môi trường Dev!)
  • ✓ Truy cập vào các repos mã tập trung cho tất cả hơn 450 hướng dẫn về pyimageearchcentralized code repos for all 450+ tutorials on PyImageSearch
  • ✓ Dễ dàng tải xuống một lần nhấp cho mã, bộ dữ liệu, mô hình được đào tạo trước, v.v. Easy one-click downloads for code, datasets, pre-trained models, etc.
  • ✓ Truy cập trên thiết bị di động, máy tính xách tay, máy tính để bàn, v.v.Access on mobile, laptop, desktop, etc.

Bấm vào đây để tham gia Đại học Pyimageearch

Bản tóm tắt

Trong hướng dẫn này, bạn đã học cách thực hiện phát hiện và hiệu chỉnh định hướng văn bản tự động bằng cách sử dụng chế độ định hướng và phát hiện tập lệnh Tesseract (OSD).

Chế độ OSD cung cấp cho chúng tôi dữ liệu meta của văn bản trong hình ảnh, bao gồm cả định hướng văn bản ước tính và phát hiện hệ thống tập lệnh/viết. Định hướng văn bản đề cập đến góc (tính bằng độ) của văn bản trong hình ảnh. Khi thực hiện OCR, chúng ta có thể có được độ chính xác cao hơn bằng cách sửa cho hướng văn bản. Mặt khác, phát hiện kịch bản đề cập đến hệ thống viết của văn bản, có thể là tiếng Latin, Hanzi, tiếng Ả Rập, tiếng Do Thái, v.v.estimated text orientation and script/writing system detection. The text orientation refers to the angle (in degrees) of the text in the image. When performing OCR, we can obtain higher accuracy by correcting for the text orientation. Script detection, on the other hand, refers to the writing system of the text, which could be Latin, Hanzi, Arabic, Hebrew, etc.

Muốn tín dụng GPU miễn phí để đào tạo các mô hình?

  • Chúng tôi đã sử dụng jarvislabs.ai, một đám mây GPU, cho tất cả các thí nghiệm.
  • Chúng tôi tự hào cung cấp cho sinh viên Đại học Pyimageearch trị giá $ 20 tín dụng đám mây GPU GPU. Tham gia Đại học Pyimageearch và yêu cầu tín dụng $ 20 của bạn tại đây.

Trong học tập sâu, chúng ta cần đào tạo mạng lưới thần kinh. Những mạng lưới thần kinh này có thể được đào tạo trên CPU nhưng mất rất nhiều thời gian. Hơn nữa, đôi khi các mạng này thậm chí không phù hợp (chạy) trên CPU.

Để khắc phục vấn đề này, chúng tôi sử dụng GPU. Vấn đề là những GPU này rất tốn kém và nhanh chóng trở nên lỗi thời.GPUs. The problem is these GPUs are expensive and become outdated quickly.

GPU là tuyệt vời vì họ lấy mạng lưới thần kinh của bạn và đào tạo nó nhanh chóng. Vấn đề là GPU rất tốn kém, vì vậy bạn không muốn mua một cái và thỉnh thoảng chỉ sử dụng nó. Cloud GPU cho phép bạn sử dụng GPU và chỉ trả tiền cho thời gian bạn đang chạy GPU. Đó là một ý tưởng tuyệt vời giúp bạn tiết kiệm tiền.only pay for the time you are running the GPU. It’s a brilliant idea that saves you money.

Jarvislabs cung cấp GPU tốt nhất trong lớp và sinh viên Đại học PyimageSearch có được từ 10-50 giờ trên GPU đẳng cấp thế giới (thời gian phụ thuộc vào GPU cụ thể mà bạn chọn). provides the best-in-class GPUs, and PyImageSearch University students get between 10-50 hours on a world-class GPU (time depends on the specific GPU you select).

Điều này cho bạn cơ hội để lái thử một GPU mạnh mẽ một cách quái dị trên bất kỳ hướng dẫn nào của chúng tôi trong một trò hề. Vì vậy, tham gia Đại học Pyimageearch ngay hôm nay và tự mình thử nó.test-drive a monstrously powerful GPU on any of our tutorials in a jiffy. So join PyImageSearch University today and try it for yourself.

Nhấn vào đây để nhận tín dụng Jarvislabs ngay bây giờ

Để tải xuống mã nguồn cho bài đăng này (và được thông báo khi các hướng dẫn trong tương lai được xuất bản tại đây trên PyimageSearch), chỉ cần nhập địa chỉ email của bạn trong biểu mẫu bên dưới!

Hướng dẫn detect text orientation in image python - phát hiện hướng văn bản trong python hình ảnh

Tải xuống mã nguồn và hướng dẫn tài nguyên 17 trang miễn phí

Nhập địa chỉ email của bạn dưới đây để nhận .Zip của mã và hướng dẫn tài nguyên 17 trang miễn phí về tầm nhìn máy tính, openCV và học sâu. Bên trong bạn sẽ tìm thấy các hướng dẫn, sách, khóa học và thư viện được chọn bằng tay của tôi để giúp bạn thành thạo CV và DL!FREE 17-page Resource Guide on Computer Vision, OpenCV, and Deep Learning. Inside you'll find my hand-picked tutorials, books, courses, and libraries to help you master CV and DL!

Làm cách nào để kiểm tra định hướng văn bản?

Bạn có thể sử dụng biến đổi Hough để phát hiện các đường dài nhất trong hình ảnh của bạn và sau đó tìm thấy độ dốc chiếm ưu thế của các dòng đó.Nếu độ dốc gần bằng không, văn bản của bạn nằm ngang;Nếu nó gần với vô cực, văn bản của bạn là thẳng đứng.use the Hough Transform to detect the longest lines in your image and then find the predominant slope of those lines. If the slope is close to zero, your text is horizontal; if it's close to infinity, your text is vertical.

Làm thế nào để bạn kiểm tra xem hình ảnh có lộn ngược Python không?

Có thể phát hiện định hướng bằng Tesseract (pytesseract cho Python), nhưng chỉ có thể khi hình ảnh chứa rất nhiều ký tự.Nếu tài liệu chứa đủ các ký tự, Tesseract có thể phát hiện định hướng.Tesseract (pytesseract for Python), but it is only possible when the image contains a lot of characters. If the document contains enough characters, it is possible for Tesseract to detect the orientation.

OSD trong pytesseract là gì?

Chế độ OSD cung cấp cho chúng tôi dữ liệu meta của văn bản trong hình ảnh, bao gồm cả định hướng văn bản ước tính và phát hiện hệ thống tập lệnh/viết.Định hướng văn bản đề cập đến góc (tính bằng độ) của văn bản trong hình ảnh.provides us with meta-data of the text in the image, including both estimated text orientation and script/writing system detection. The text orientation refers to the angle (in degrees) of the text in the image.

Pytesseract có miễn phí không?

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.free software, released under the Apache License.