IPP watershed algorithm gives different result in release and debug on x64 platform

IPP watershed algorithm gives different result in release and debug on x64 platform

Hello,

I am using the watershed algirhtm in IPP library for some image segmentation task, but found the debug and release build give different result.

Below is the code that I called the watershed function:

int flag = IPP_SEGMENT_DISTANCE | IPP_SEGMENT_BORDER_8;

ippStatus = ippiSegmentWatershed_8u16u_C1IR(pSrc, srcStep, pMarker, markerStep, roiSize, ippiNormL2, flag, pBuffer);

I checked the input values (including pSrc, srcStep, pMarker, markerStep, roiSize, pBuffer) are all same for debug and release. However, the output (pMarker) is different.

The image size is 1254*922. Here is the values I get when I debuged the program, for both debug and release, before call the ipp watershed function:

pSrcStep: 1280, markerStep: 2520, roiSize:{1254, 922}. The pSrc and pMarker are also same for debug and release.

However, pMarker values is different after called the function.

By the way, I run the program under 64 bit platform, The debug and release result are same if running under 32 bit.

Any ideas?
 

 

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hello,
Is the result different for all kind of image input or special image?
Could you please tell the IPP verison information like
ippInit();
const IppLibraryVersion* lib = ippcvGetLibVersion();
printf("%s %s %d.%d.%d.%d\n", lib->Name, lib->Version, lib->major, lib->minor, lib->majorBuild, lib->build);

and a small test case which can reproduce the problem will be helpful.

Best Regards,
Ying

Leave a Comment

Please sign in to add a comment. Not a member? Join today