Jak instalovat opencv na Debian12 bookworm

Knihovna opencv na rozpoznávání obličejů (Computer Vision) obsahující 2500 algoritmů by měla umět např. ořezávat různě focené profilové fotky.

Instalace opencv

Typ instalace – oficiální package pro Debian 12 bookworm: https://packages.debian.org/source/bookworm/opencv

wget https://raw.githubusercontent.com/php-opencv/php-opencv-packages/master/opencv_4.7.0_amd64.deb && sudo dpkg -i opencv_4.7.0_amd64.deb && rm opencv_4.7.0_amd64.deb

Instalace PHP extension

Již mám PHP 8.2, je třeba doinstalovat zdrojáky pro následné vytvoření rozšíření opencv.

sudo apt install php8.2-dev

git clone https://github.com/php-opencv/php-opencv.git

…vytvoří adresář php-opencv

cd php-opencv && phpize && ./configure –with-php-config=/usr/bin/php-config8.2 && make

Build complete.

sudo make install

make test

melo by spustit 17 testu

echo „extension=opencv.so“ > /etc/php/8.2/cli/conf.d/opencv.ini

Případně ještě pro verzi PHP spouštěném z nginx serveru

echo „extension=opencv.so“ > /etc/php/8.2/fpm/conf.d/opencv.ini

zapne načtení modulu opencv v PHP

php -v

PHP 8.2.10 (cli) (built: Sep 4 2023 08:11:43) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies
with Zend OPcache v8.2.10, Copyright (c), by Zend Technologies

php -i

mělo by obsahovat toto:

opencv

opencv support => enabled

Příklady použití zde: https://github.com/php-opencv/php-opencv-examples/

BONUS: Instalace extra modulů opencv_contrib

V základním otestovaném repozitáři nejsou všechny moduly, např. upscale obrázku pomocí natrénované neuronové sítě dnn_superres.
Repozitář https://github.com/opencv/opencv_contrib by měl být nainstalován na našem Debian 12 ve formě automatické závislosti již dříve instalovaného package „opencv_4.7.0_amd64.deb“ s názvem „libopencv-contrib-dev“. Tato knihovna by měla obsahovat všechny hlavičky a zdrojové knihovny pro kompilaci extra modulů např. dnn_superres.

Extra modul dnn_superres by měl jít zkompilovat ze zdrojáků příkazem:

cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules -Dopencv_dnn_superres=ON <opencv_source_dir>