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

sharpening

gouritaware
Beginner
1,246 Views

Hi,

I am new user of IPP.

Using it to sharpen my images like this

IppStatus status = ippiFilterSharpen_8u_C3R(
(Ipp8u*)pSrc->DataPtr(), nSrcStep ,
(Ipp8u*)pDst->DataPtr(), nDstStep ,
size);

all images are 24 bit bitmaps this function worked for some images but not for all....

what may be the reason!!!!!

(just working/extending on the ipp sample code supplied)

0 Kudos
3 Replies
Vladimir_Dudnik
Employee
1,246 Views

Hello,

what do you actually mean when you are saying sharpening does not work on some images?

What are the images (width, height), what is your platform, OS. How did you link IPP statically or dynamically. What version of IPP did you try? What kind of issues do you see with this function?

Regards,
Vladimir

0 Kudos
gouritaware
Beginner
1,246 Views

Hi Vladimir,

Throws exception ".....Memory could not be read"

OS:Windows2000professional
IPP linking: Dynamically

It workes for follwing images
1.
width:543
Height:856
24bit bmp
2.
width:663
Height:987
24bit bmp

It doesn't workes for follwing images

1.
width:468
Height:592
24bit bmp

2.
width:589
Height:493
24bit bmp

Regards,

Gouri

0 Kudos
Vladimir_Dudnik
Employee
1,246 Views

Did you pay attention to IPP manual, regarding filtering functions and especially for the case when boundary pixels are aprocessed?

FilterSharpen

Filters an image using a sharpening filter.

Syntax

IppStatus ippiFilterSharpen_<

mod>(const Ipp* pSrc, int srcStep, Ipp* pDst, int dstStep, IppiSize dstRoiSize);

Supported values for

mod :
8u_C1R 16s_C1R 32f_C1R
8u_C3R 16s_C3R 32f_C3R
8u_C4R 16s_C4R 32f_C4R
8u_AC4R 16s_AC4R 32f_AC4R

Parameters

pSrc

Pointer to the source image ROI.
srcStep Distance in bytes between starts of consecutive lines in the source image.
pDst Pointer to the destination image ROI.
dstStep Distance in bytes between starts of consecutive lines in the destination image.
dstRoiSize Size of the source and destination ROI in pixels.

Description

The function

ippiFilterSharpen is declared in the ippi.h file. It operates with ROI (see Regions of Interest in Intel IPP). This function applies a sharpening filter to an image ROI.

The corresponding kernel is the matrix of 3x3 size with the following values:

-1/8 -1/8 -1/8
-1/8

16/8 -1/8
-1/8 -1/8 -1/8

The anchor cell is the center cell of the kernel (red). The size of the source image ROI is equal to

dstRoiSize, the size of the destination image ROI. This filter enhances high-frequency components and thus sharpens an image.

To ensure valid operation when image boundary pixels are processed, the application should correctly define additional border pixels (see

Borders).

0 Kudos
Reply