calculquebec / cq-formation-convolution

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Convolution sur une image

Dans le fichier convolution.cpp, une image est d’abord chargée en mémoire-vive. Ensuite, le calcul de convolution a lieu à partir de la ligne 104.

Essentiellement, chaque nouveau pixel est calculé en fonction des pixels voisins impliqués par un noyau de convolution de taille (2*lHalfK+1) x (2*lHalfK+1). Pour générer les noyaux de convolution :

cd noyaux
source source.sh
make
cd -

Enfin, le nom d’un fichier d’image et le nom d’un fichier de noyau de convolution sont donnés en argument lors du lancement du programme. Par exemple :

./convolution exemple.png noyaux/flou_45

Un fichier MD5 est disponible pour la validation :

md5sum -c solutions/md5/exemple_flou_45.md5

Image Convolution

In the file convolution.cpp, an image is first loaded into memory and then, starting on line 104, its convolution is computed.

Essentially, each pixel of the new image is calculated as a function of the neighbouring pixels in the original image, with the number of neighbouring pixels used determined by the kernel of size (2*lHalfK+1) x (2*lHalfK+1). To generate the convolution kernels:

cd noyaux
source source.sh
make
cd -

Finally, the name of the image file and of the convolution kernel must be given as arguments of the binary when running the program. For example:

./convolution exemple.png noyaux/flou_45

An MD5 file is available for validation:

md5sum -c solutions/md5/exemple_flou_45.md5

About


Languages

Language:C++ 91.0%Language:Python 5.9%Language:Cuda 1.8%Language:Makefile 1.2%Language:Shell 0.1%