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

Usage of ippiLUT_Linear

hande_b_
Beginner
468 Views

Hi everyone, i want to implement adaptive histogram equalization on one channel image. I fill lookuptable(pValues) at every subwindow and use 

ippiLUT_Linear_8u_C1R(srcImage->DataPtr(subwindow),srcImage->Step(),dstImage->DataPtr(subwindow),dstImage->Step(),subwindow->size,pValues,pLevels,histSize)

but i didnt remove blocking effect such that ippiLUT_8u_C1R gives the same result. Than firstly i generated whole image with ippiLUT_8u_C1R

then at the end use

ippiLUT_Linear_8u_C1R(dstImage->DataPtr(),dstImage->Step(),dstImage->DataPtr(),dstImage->Step(),dstImage->size,pValues,pLevels,histSize);

but it didnt worked too. The usage of ippiLUT_Linear is not like this? What is the point that i am missing?

Thanks.

0 Kudos
5 Replies
SergeyKostrov
Valued Contributor II
468 Views
Three sets of ippiLUT_xxx functions perform intensity transformation of some source image using the lookup table (LUT) and have internal differences. Take a look at a demo: ippilutdemo.jpg and it shows the differences.
0 Kudos
hande_b_
Beginner
468 Views

Ok after reading the documentation i understood the reason. It interpolates lut values not image intensity values.

0 Kudos
SergeyKostrov
Valued Contributor II
468 Views
>>...It interpolates lut values not image intensity values... Here are a couple of more details: 1. ippiLUT_xxx functions perform intensity transformation of the source image using the LUT with Exact Mapping. 2. ippiLUT_Linear_xxx functions perform intensity transformation of the source image using the LUT with Linear Interpolation. 3. ippiLUT_Cubic_xxx functions perform intensity transformation of the source image using the LUT with Cubic Interpolation.
0 Kudos
SergeyKostrov
Valued Contributor II
468 Views
Here is an example: ippilutdemo.jpg If a value for some pixel in an 8-bit depth source image is 225 then, depending on a transforming method, the pixel value in the output image could be: ~178 for ippiLUT_xxx or ~207 for ippiLUT_Linear_xxx or ~195 for ippiLUT_Cubic_xxx
0 Kudos
hande_b_
Beginner
468 Views

Thanks for your interest Sergey :) what i want is smoothing the blocking artifacts on boundaries so lut with interpolation is not suitable for my purpose, i have to look for something else

0 Kudos
Reply