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.
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
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
Selepas pemasangan selesai, tambahkan konfigurasi berikut dalam fail php.ini:
extension=ocr.so
Penggunaan
Berikut ialah contoh mudah menggunakan tesseract untuk pengecaman OCR:
<?php $img_file = 'test.png'; $text = (new OCRTesseractOCR($img_file)) ->run(); echo $text; ?>
Dalam kod di atas, kami mula-mula mentakrifkan ujian fail imej.png , dan kemudian gunakan tesseract mengenali dan mengeluarkan hasilnya.
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; ?>
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!