Perform conv2 on a batch of images

1 visualización (últimos 30 días)
Jonathan
Jonathan el 7 de Ag. de 2015
Editada: Jonathan el 7 de Ag. de 2015
I have a set of 2D images for which I would like to convolve each image separately with a kernel. This is particularly important for GPU acceleration because doing the convolution one at a time with a for loop is much slower.
Ideally, conv2(A,B) would be written such as A can be a 3D matrix (m x n p), where p is the number of separate 2D arrays to perform the convolution with B on.
Is there any way in Matlab to do such a thing currently, or would I need to write my own mex function?

Respuesta aceptada

David Young
David Young el 7 de Ag. de 2015
convn does exactly what you describe, given a 3-D array and a 2-D kernel.
  1 comentario
Jonathan
Jonathan el 7 de Ag. de 2015
Editada: Jonathan el 7 de Ag. de 2015
Yes, thanks, you are correct. From the docs, it sounded like both kernel and array would need to be of the same dimension.

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 7 de Ag. de 2015
You can use pagefun() with conv2 with a gpuarray
  1 comentario
Jonathan
Jonathan el 7 de Ag. de 2015
Does not work yet with pagefun. However, convn does do the same thing.

Iniciar sesión para comentar.

Categorías

Más información sobre GPU Computing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by