Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

ippiFilterGauss

j_bossu
Beginner
315 Views
Hello and happy new year.
I have a question with the function ippiFilterGauss.
I want to filter an image (Ipp32f) coded in RGB with a gaussian filter.
How to use the function ippiFilterGauss ?
The fuction using border (for example ippiCopyReplicateBorder) must be used ?
Thanks a lot
Jrmie
0 Kudos
4 Replies
Vladimir_Dudnik
Employee
315 Views

Hi,

happy new year for you too:)

you are right, when IPP filter uses border pixels you need somehow define them. For example, you can allocate buffer for your image with some extension, to keep 2 lines and 2 columns more than your image actually use. The method to define those extension pixels can vary depending on your application needs, the simplest one is just to set extended pixels to zero. Or you can use IPP functions like ippiCopyReplicateBorder for other options.

Regards,
Vladimir

Message Edited by vdudnik on 01-12-2006 12:57 PM

0 Kudos
ounim
Beginner
315 Views
Hi,

I want to filter an Image Ipp32f with a gaussian filter. So I follow your advice and try to use ippiCopyReplicateBorder. But ippiCopyReplicateBorder can't copy Ipp32f image!

Is there another ipp fonction to do this? or I will replicate border "by hand" ?

Thank you very much

damien
0 Kudos
Vladimir_Dudnik
Employee
315 Views

Hi Damien,

you are right, we do not have special copy function for 32f data type. But as it just copy operation, I think you can use ippiCopyReplicate for Ipp32s data type because of the same size of data element. It is probably not the nice solution, but it should work and work fast.

Regards,
Vladimir

0 Kudos
Intel_C_Intel
Employee
315 Views
Another possibility is to use IPP separable filters with borders ippiFilterRow/ColumnBorderPipeline. You need not image extension with border pixel in this case
The example 9-3 (p 9-55)in volume 2 of IPP manual shows how to organize separable filtering in pipeline manner. In this example 1 row is processed at a time, it could be easily modified to process N rows at a time
Alexander
0 Kudos
Reply