Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk melakukan OCR asas dan pengecaman imej menggunakan PHP

Bagaimana untuk melakukan OCR asas dan pengecaman imej menggunakan PHP

WBOY
Lepaskan: 2023-06-22 10:24:02
asal
2187 orang telah melayarinya

Dengan perkembangan berterusan bidang kecerdasan buatan, teknologi pengecaman imej telah menjadi semakin matang dan popular. Dalam aplikasi praktikal, cara mengenal pasti kandungan imej dengan cepat dan cekap telah menjadi masalah yang dihadapi oleh banyak pembangun dan penyelidik. Antaranya, teknologi OCR (Optical Character Recognition) digunakan secara meluas, yang boleh mengenal pasti teks dalam gambar dan menukarkannya kepada format teks yang boleh diedit untuk memudahkan pemprosesan seterusnya.

Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan operasi asas OCR dan pengecaman imej.

Persediaan

Menggunakan PHP untuk OCR dan pengecaman imej memerlukan pemasangan perpustakaan dan sambungan yang berkaitan terlebih dahulu. Di sini kami mengambil tesseract sebagai contoh untuk dipasang.

  1. Pasang tesseract

tesseract ialah enjin OCR sumber terbuka yang boleh mengecam teks dalam berbilang bahasa. Dalam sistem Linux, ia boleh dipasang melalui arahan berikut:

sudo apt-get install tesseract-ocr
sudo apt-get install libtesseract-dev
Salin selepas log masuk
  1. Pasang sambungan PHP

Untuk dapat menggunakan tesseract dalam PHP, kita perlu memasang sambungan php-ocr. Dalam sistem Linux, anda boleh memasangnya melalui arahan berikut:

sudo apt-get install php-dev
sudo apt-get install php-pear
sudo apt-get install libtesseract-dev
sudo pecl install ocr-alpha
Salin selepas log masuk

Selepas pemasangan selesai, tambahkan konfigurasi berikut dalam fail php.ini:

extension=ocr.so
Salin selepas log masuk

Penggunaan

  1. Pengiktirafan OCR yang mudah

Berikut ialah contoh mudah menggunakan tesseract untuk pengecaman OCR:

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

Dalam kod di atas, kami mula-mula mentakrifkan ujian fail imej.png , dan kemudian gunakan tesseract mengenali dan mengeluarkan hasilnya.

  1. Pemprosesan dan pengecaman imej

Jika anda perlu memproses imej dan kemudian mengenalinya, anda boleh menggunakan perpustakaan PHP dan GD untuk mencapainya.

Berikut ialah contoh pemprosesan imej dan melaksanakan pengecaman OCR:

<?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;
?>
Salin selepas log masuk

Dalam kod di atas, kami mula-mula menggunakan fungsi imagecreatefrompng pustaka GD untuk membaca imej, dan kemudian melaksanakan imej operasi pemprosesan Di sini kita akan Imej ditukar kepada skala kelabu. Selepas pemprosesan selesai, gunakan tesseract untuk pengecaman OCR.

Ringkasan

Menggunakan PHP untuk OCR dan pengecaman imej boleh menukar kandungan imej kepada format teks boleh diedit dengan mudah, menyediakan data asas untuk pemprosesan dan analisis seterusnya. Artikel ini memperkenalkan kaedah menggunakan perpustakaan tesseract dan GD untuk pengecaman dan pemprosesan imej yang mudah Pembaca boleh terus berkembang mengikut keperluan sebenar.

Atas ialah kandungan terperinci Bagaimana untuk melakukan OCR asas dan pengecaman imej menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan