Bagaimana untuk melaksanakan pengesanan kawasan teks menggunakan PHP dan perpustakaan OpenCV?
OpenCV ialah perpustakaan penglihatan komputer sumber terbuka yang boleh digunakan untuk pemprosesan imej dan aplikasi penglihatan mesin. Dalam artikel ini, kami akan memperkenalkan cara menggunakan perpustakaan PHP dan OpenCV untuk melaksanakan pengesanan kawasan teks.
Untuk menggunakan PHP untuk pemprosesan imej, kami perlu memasang sambungan OpenCV untuk PHP. Ia boleh dipasang dengan menjalankan arahan berikut:
sudo apt-get install php7.4-dev git clone https://github.com/php-opencv/php-opencv.git cd php-opencv phpize ./configure make sudo make install
Seterusnya, kita perlu memperkenalkan sambungan OpenCV dalam fail konfigurasi PHP. Anda boleh mengedit fail php.ini dan menambah baris pada penghujung fail:
extension=opencv.so
Selepas menyimpan dan menutup fail, mulakan semula perkhidmatan PHP.
Seterusnya, kami akan melihat contoh untuk menunjukkan cara mengesan kawasan teks dalam imej menggunakan PHP dan OpenCV.
Mula-mula, buat fail PHP yang dipanggil text_detection.php
dan salin kod berikut ke dalam fail: text_detection.php
的PHP文件,然后将以下代码复制到文件中:
<?php // 加载OpenCV库 $opencv = new OpenCVOpenCV(); // 读取图像 $imagePath = "path/to/your/image.jpg"; $image = $opencv->imread($imagePath); // 转换为灰度图像 $gray = $opencv->cvtColor($image, OpenCVCV_BGR2GRAY); // 使用自适应阈值化将图像转换为二值图像 $binary = $opencv->adaptiveThreshold($gray, 255, OpenCVCV_ADAPTIVE_THRESH_GAUSSIAN_C, OpenCVCV_THRESH_BINARY, 11, 2); // 创建形态学内核 $kernel = $opencv->getStructuringElement(OpenCVCvCV_SHAPE_RECT, new OpenCVCvSize(17, 3)); // 执行闭运算以将文本区域连接 $closing = $opencv->morphologyEx($binary, OpenCVCvCV_MOP_CLOSE, $kernel); // 查找文本轮廓 $contours = $opencv->findContours($closing, OpenCVCV_RETR_EXTERNAL, OpenCVCV_CHAIN_APPROX_SIMPLE); // 循环处理每个轮廓 foreach ($contours as $contour) { // 计算轮廓的边界框 $boundingBox = $opencv->boundingRect($contour); // 在原始图像上绘制边界框 $image = $opencv->rectangle($image, $boundingBox->tl(), $boundingBox->br(), new OpenCVCvScalar(0, 255, 0), 2); } // 显示结果图像 $opencv->imshow("Text Detection", $image); $opencv->waitKey(0);
请注意,您需要将代码中的 "path/to/your/image.jpg"
php text_detection.php
"path/to Replace /your/ image.jpg"
dengan laluan ke imej yang anda ingin kesan. Fungsi kod di atas adalah seperti berikut: rrreee
Selepas melaksanakan kod, tetingkap imej dengan kawasan teks bertanda akan dipaparkan dan tunggu sebarang kekunci ditekan untuk tutup tingkap. Melalui langkah di atas, kami berjaya melaksanakan fungsi pengesanan kawasan teks menggunakan perpustakaan PHP dan OpenCV. Anda boleh melanjutkan dan mengoptimumkan contoh kod ini untuk memenuhi keperluan yang lebih khusus. 🎜Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pengesanan kawasan teks menggunakan perpustakaan PHP dan OpenCV?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!