Début du TP convolution. Pour l'instant uniquement lecture d'une vidéo.
[GPU.git] / WCudaMSE / Student_Cuda_Image / src / cpp / core / 06_Convolution / ImageConvolutionCuda.cpp
1 #include "ImageConvolutionCuda.h"
2
3 ImageConvolutionCuda::ImageConvolutionCuda(Animable_I* ptrAnimable, CaptureVideo* captureur, ColorRGB_01* ptrColorTitreRGB) :
4 Image(ptrAnimable, ptrColorTitreRGB),
5 captureur(captureur)
6 {
7
8 //Mat matImage = captureur.capturer(); // capture une image seulement ( à utiliser en boucle!)
9 //uchar4* image = CaptureVideo::castToUChar4(&matImage); // format cuda
10 }
11
12 ImageConvolutionCuda::~ImageConvolutionCuda()
13 {
14 delete this->captureur;
15 }
16
17 void ImageConvolutionCuda::fillImageGL(uchar4* ptrDevImageGL, int w, int h)
18 {
19 Mat matImage = this->captureur->capturer(); // capture une image seulement ( à utiliser en boucle!)
20 uchar4* image = CaptureVideo::castToUChar4(&matImage); // format cuda
21 HANDLE_ERROR(cudaMemcpy(ptrDevImageGL, image, sizeof(uchar4) * this->ptrAnimable->getW() * this->ptrAnimable->getH(), cudaMemcpyHostToDevice));
22 }