Pemprosesan imej ialah tugas yang sangat penting dalam aplikasi web moden. Ia boleh digunakan untuk mencipta aplikasi yang cantik, responsif dan interaktif yang meningkatkan pengalaman pengguna. PHP ialah bahasa pengaturcaraan bahagian pelayan yang digunakan secara meluas yang boleh mengendalikan tugas pemprosesan imej dengan mudah. Artikel ini akan memperkenalkan beberapa teknik pemprosesan imej berprestasi tinggi dalam PHP.
Pustaka GD ialah sambungan PHP yang digunakan secara meluas yang membolehkan pembangun mencipta, memanipulasi dan memproses imej. Ia menyokong pelbagai format imej, termasuk GIF, JPEG, PNG, dsb., dan boleh melakukan saiz semula imej, putaran, pemangkasan dan penapisan.
Untuk menggunakan perpustakaan GD, anda mesti memastikan sambungan perpustakaan GD dipasang pada pelayan. Untuk menyemak sama ada pustaka GD dipasang, jalankan fungsi phpinfo() dalam skrip PHP anda dan cari sambungan gd.
Berikut ialah contoh mengubah saiz imej menggunakan perpustakaan GD:
$src = imagecreatefromjpeg('image.jpg');
list($width, $height) = getimagesize ( 'image.jpg');
$new_width = $width * 0.5;
$new_height = $height * 0.5;
$dst = imagecreatetruecolor($new_width, $new_height);
imagecopyresampled(( $ dst, $src, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
header('Content-Type: image/jpeg');
imagejpeg($dst ) ;
Coretan kod ini akan memuatkan imej JPEG, mengubah saiznya kepada 50% daripada imej asal dan mengeluarkan hasilnya. Menggunakan pustaka GD untuk memproses imej ialah cara yang mudah dan berkesan, tetapi ia tidak selalunya yang paling pantas atau paling berkesan.
ImageMagick ialah perpustakaan pemprosesan imej sumber terbuka yang popular yang boleh digunakan untuk mencipta, mengedit dan menukar imej. Sambungan Imagick dalam PHP ialah perpustakaan yang menyepadukan fungsi ImageMagick, memberikan lebih banyak keupayaan pemprosesan imej. Imagick menyokong pelbagai format imej dan boleh mengubah saiz, memutar, memangkas dan menapis imej, mencipta tera air imej, menambah sempadan dan kesan, dsb.
Berikut ialah contoh penggunaan Imagick untuk mengubah saiz imej:
$imagick = new Imagick('image.jpg');
$imagick->resizeImage($imagick- > getImageWidth() / 2, $imagick->getImageHeight() / 2, Imagick::FILTER_LANCZOS, 1);
header('Content-Type: image/jpeg');
echo $imagick;
Coretan kod ini akan memuatkan imej JPEG, mengubah saiznya kepada 50% daripada imej asal dan mengeluarkan hasilnya. Imagick lebih pantas dan lebih dipercayai daripada perpustakaan GD, menjadikannya pilihan yang lebih baik dalam situasi di mana pemprosesan imej yang berat diperlukan.
OpenCV ialah perpustakaan penglihatan komputer sumber terbuka yang digunakan secara meluas yang boleh digunakan untuk mencipta, memproses dan menganalisis data visual. Ia menyokong pelbagai format imej, termasuk GIF, JPEG, PNG, dsb., dan boleh melakukan klasifikasi imej, pengesanan dan pengecaman sasaran, peningkatan imej, dsb.
Dalam PHP, OpenCV boleh digunakan menggunakan sambungan PHP opencv-php. Berikut ialah contoh mudah menggunakan OpenCV untuk mengesan wajah dalam imej:
$cv = new opencv();
$image = $cv->imread('image.jpg'); >$cv->cvtColor($imej, $imej, CV_RGB2GRAY);
$muka = $cv->detectFace($imej);
foreach ($muka sebagai $muka) {
$cv->rectangle($image, $face['x'], $face['y'], $face['x'] + $face['width'], $face['y'] + $face['height'], CV_RGB(255, 0, 0), 2);
header('Content-Type: image/jpeg');
$cv->imwrite($image, null, CV_IMWRITE_JPEG_QUALITY, 100);
Atas ialah kandungan terperinci Teknologi pemprosesan imej berprestasi tinggi dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!