Heim  >  Artikel  >  Backend-Entwicklung  >  Anleitung zur grundlegenden OCR- und Bilderkennung mit PHP

Anleitung zur grundlegenden OCR- und Bilderkennung mit PHP

WBOY
WBOYOriginal
2023-06-22 09:40:552130Durchsuche

Mit der kontinuierlichen Entwicklung auf dem Gebiet der künstlichen Intelligenz ist die Bilderkennungstechnologie immer ausgereifter und beliebter geworden. In praktischen Anwendungen ist die schnelle und effiziente Identifizierung von Bildinhalten für viele Entwickler und Forscher zu einem Problem geworden. Unter ihnen ist die OCR-Technologie (Optical Character Recognition) weit verbreitet, die Text in Bildern identifizieren und in ein bearbeitbares Textformat umwandeln kann, um die spätere Verarbeitung zu erleichtern.

In diesem Artikel wird erläutert, wie Sie mit PHP grundlegende OCR- und Bilderkennungsvorgänge ausführen.

Vorbereitung

Die Verwendung von PHP für OCR und Bilderkennung erfordert zunächst die Installation relevanter Bibliotheken und Erweiterungen. Hier nehmen wir Tesseract als Beispiel für die Installation.

  1. Tesseract installieren

tesseract ist eine Open-Source-OCR-Engine, die Text in mehreren Sprachen erkennen kann. In Linux-Systemen kann es über den folgenden Befehl installiert werden:

sudo apt-get install tesseract-ocr
sudo apt-get install libtesseract-dev
  1. PHP-Erweiterung installieren

Um Tesseract in PHP verwenden zu können, müssen wir die Erweiterung php-ocr installieren. In Linux-Systemen können Sie es mit dem folgenden Befehl installieren:

sudo apt-get install php-dev
sudo apt-get install php-pear
sudo apt-get install libtesseract-dev
sudo pecl install ocr-alpha

Nach Abschluss der Installation fügen Sie die folgende Konfiguration in die Datei php.ini ein:

extension=ocr.so

Verwendung

  1. Einfache OCR-Erkennung

Folgendes ist ein einfaches Anwendungsbeispiel für die OCR-Erkennung mit Tesseract:

<?php
    $img_file = 'test.png';
    $text = (new OCRTesseractOCR($img_file))
            ->run();
    echo $text;
?>

Im obigen Code definieren wir zunächst eine Bilddatei test.png und verwenden dann Tesseract, um die Erkennung durchzuführen und das Ergebnis auszugeben.

  1. Bildverarbeitung und -erkennung

Wenn Sie das Bild verarbeiten und dann erkennen müssen, können Sie dazu PHP und die GD-Bibliothek verwenden.

Das Folgende ist ein Beispiel für die Verarbeitung von Bildern und die Durchführung der OCR-Erkennung:

<?php
    $img_file = 'test.png';
    $img = imagecreatefrompng($img_file);
    
    // 图像处理操作
    $width = imagesx($img);
    $height = imagesy($img);
    $gray_img = imagecreatetruecolor($width, $height);
    for($i = 0; $i < $width; ++$i) {
        for($j = 0; $j < $height; ++$j) {
            $rgb = imagecolorat($img, $i, $j);
            $r = ($rgb >> 16) & 0xFF;
            $g = ($rgb >> 8) & 0xFF;
            $b = $rgb & 0xFF;
            $gray = intval(0.30 * $r + 0.59 * $g + 0.11 * $b);
            imagesetpixel($gray_img, $i, $j, ($gray << 16) | ($gray << 8) | $gray);
        }
    }
    $gray_file = 'gray.png';
    imagepng($gray_img, $gray_file);
    
    $text = (new OCRTesseractOCR($gray_file))
            ->run();
    echo $text;
?>

Im obigen Code verwenden wir zuerst die Funktion imagecreatefrompng der GD-Bibliothek, um das Bild zu lesen, und führen dann Bildverarbeitungsvorgänge durch. Hier konvertieren wir das Bild in ein Graustufenbild umwandeln. Verwenden Sie nach Abschluss der Verarbeitung Tesseract für die OCR-Erkennung.

Zusammenfassung

Mit PHP für OCR und Bilderkennung können Bildinhalte problemlos in ein bearbeitbares Textformat konvertiert werden, wodurch grundlegende Daten für die anschließende Verarbeitung und Analyse bereitgestellt werden. In diesem Artikel wird die Methode zur Verwendung von Tesseract und der GD-Bibliothek zur einfachen Bilderkennung und -verarbeitung vorgestellt, die der Leser entsprechend den tatsächlichen Anforderungen weiterentwickeln kann.

Das obige ist der detaillierte Inhalt vonAnleitung zur grundlegenden OCR- und Bilderkennung mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn