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?
Link Copied
For more complete information about compiler optimizations, see our Optimization Notice.