- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am trying get image saturation effect using Color Twist. As Image is ARGB32 and has integer pixel values I am using ippiColorTwist32f_8u_AC4IR function.
The problem:
I am using following color matrix function...
//IPP 5.0
//fSaturation varies from 0.0f to 2.0f
//Ipp32f m[4][4]
//Red
m[2][0] = (1.0f - fSaturation) * 0.3086f ;
m[2][1] = (1.0f - fSaturation) * 0.3086f;
m[2][2] = (1.0f - fSaturation) * 0.3086f + fSaturation;
m[2][3] = 0.0f;
// Green
m[1][0] = (1.0f - fSaturation) * 0.6094f;
m[1][1] = (1.0f - fSaturation) * 0.6094f + fSaturation;
m[1][2] = (1.0f - fSaturation) * 0.6094f;
m[1][3] = 0.0f;
// Blue
m[0][0] = (1.0f - fSaturation) * 0.082f + fSaturation;
m[0][1] = (1.0f - fSaturation) * 0.082f;
m[0][2] = (1.0f - fSaturation) * 0.082f ;
m[0][3] = 0.0f;
Above color matrix function gives perfect results in C# GDI+ operations but with ippiColorTwist32f it is giving completely incorrect results. For example when fSaturation = 0.0f instead of a grayscale image I am getting a green color saturated image.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
What I see, if you use ARGB image and saturate 3-th component (which is exactly green channel) you should get green-saturated image, isn't it?
Note, all IPP functions use saturation to map internal result to output, might it be a reason?
could you please provide simple test case to demostrate what is the wrong with function?
Regards,
Vladimir
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page