Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk mencapai penajaman imej menggunakan perpustakaan PHP dan OpenCV?
Bagaimana untuk mencapai penajaman imej menggunakan perpustakaan PHP dan OpenCV?
Ikhtisar:
Asah imej ialah teknik pemprosesan imej yang biasa digunakan untuk meningkatkan kejelasan imej dan kekuatan tepi. Dalam artikel ini, kami akan menerangkan cara melaksanakan penajaman imej menggunakan PHP dan perpustakaan OpenCV. OpenCV ialah perpustakaan penglihatan komputer sumber terbuka yang berkuasa yang menyediakan fungsi pemprosesan imej yang kaya. Kami akan menggunakan sambungan PHP OpenCV untuk melaksanakan algoritma penajaman imej.
Langkah 1: Pasang sambungan OpenCV dan PHP
Pertama, kita perlu memasang perpustakaan OpenCV serta sambungan OpenCV untuk PHP. Mula-mula muat turun dan pasang perpustakaan OpenCV Anda boleh mendapatkan versi terkini daripada tapak web rasmi OpenCV (https://opencv.org/). Selepas pemasangan selesai, kami perlu memasang sambungan OpenCV untuk PHP pada sistem. Ia boleh dipasang pada sistem Linux melalui arahan berikut:
pecl install opencv
Setelah pemasangan selesai, tambah sambungan OpenCV pada fail php.ini.
Langkah 2: Memuatkan imej dan prapemprosesan imej
Dalam skrip PHP, mula-mula kita perlu memuatkan imej. Muatkan imej ke dalam memori menggunakan fungsi daripada perpustakaan OpenCV. Sebelum itu, kita perlu menyimpan imej pada pelayan. Katakan fail imej kami dinamakan "image.jpg". Berikut ialah kod contoh untuk memuatkan imej:
$image = cvimread('image.jpg');
Selepas memuatkan imej, kita perlu praproses imej. Tujuan prapemprosesan adalah untuk mengurangkan hingar dan meningkatkan tepi. Berikut ialah beberapa teknik prapemprosesan imej biasa:
$image = cvcvtColor($image, cvCOLOR_BGR2GRAY);
$image = cvGaussianBlur($image, new cvSize(3, 3), 0);
Langkah 3: Gunakan algoritma penajaman imej
Selepas prapemprosesan imej, kami boleh menggunakan algoritma penajaman imej. Dalam OpenCV, terdapat banyak algoritma penajaman imej untuk dipilih, seperti pengendali Laplacian, pengendali Sobel, dsb. Berikut ialah contoh kod untuk mengasah imej menggunakan Laplacian:
$dst = cvLaplacian($image, cvCV_8U); $result = cvddWeighted($image, 1.5, $dst, -0.5, 0);
Dalam kod di atas, kami mula-mula menggunakan Laplacian menggunakan fungsi Laplacian dan kemudian menggunakan fungsi addWeighted untuk menggunakan Laplacian pada imej asal dan Laplacian Keputusan pengendali ditimbang dan ditindih. Dengan melaraskan parameter berat, tahap kesan penajaman yang berbeza boleh diperolehi.
Langkah 4: Simpan dan paparkan hasilnya
Akhir sekali, kita perlu menyimpan dan memaparkan hasil penajaman imej. Anda boleh menggunakan fungsi imwrite yang disediakan oleh OpenCV untuk menyimpan keputusan sebagai fail imej dan menggunakan fungsi imshow untuk memaparkan hasil dalam tetingkap. Berikut ialah contoh kod untuk menyimpan dan memaparkan keputusan:
cvimwrite('result.jpg', $result); cvimshow('Result', $result); cvwaitKey(0);
Dalam kod di atas, fungsi imwrite menyimpan hasil sebagai fail "result.jpg", fungsi imshow memaparkan hasil dalam tetingkap bernama "Result", dan waitKey(0) menunggu input papan kekunci untuk menutup tetingkap.
Contoh kod penuh:
$image = cvimread('image.jpg'); $image = cvcvtColor($image, cvCOLOR_BGR2GRAY); $image = cvGaussianBlur($image, new cvSize(3, 3), 0); $dst = cvLaplacian($image, cvCV_8U); $result = cvddWeighted($image, 1.5, $dst, -0.5, 0); cvimwrite('result.jpg', $result); cvimshow('Result', $result); cvwaitKey(0);
Ringkasan:
Artikel ini menerangkan cara melaksanakan penajaman imej menggunakan PHP dan perpustakaan OpenCV. Penajaman imej mudah dilaksanakan melalui langkah-langkah memuatkan imej, prapemprosesan, menggunakan algoritma penajaman imej, dan menyimpan serta memaparkan hasilnya. Saya harap artikel ini akan membantu kerja anda dalam pemprosesan imej.
Atas ialah kandungan terperinci Bagaimana untuk mencapai penajaman imej menggunakan perpustakaan PHP dan OpenCV?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!