- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In one of our new projects we've used a few of the arithmetic operations provided in the ippi package. Amongst those functions were ippiDiv_32f_C1R and ippiDiv_32f_C1IR. To test the results we've made a comparison to a pixelwise division. The tests showed some bad results for part of the divisions tested.
Are you familiar with this bug? Is there a version that fixes it or a workaround?
Attached are two images and the test code for the div function (the in place function was tested in a similar way). Dividing img2 by img1 reproduces the bug (for both of the functions listed above). Note that the bug is not always symmetrical, i.e., sometimes dividing img2 by img1 will reproduce the bug, but the same operation performed in place will not, and vice versa. If necessary, more examples can be provided.
We thank you for your help,
intmain(intargc, char* argv[])
{
constfloatERR_DIFF = 0.0001;
// prepare params
intwidth = 143;
intheight = 134;
float* pSrc1 = ReadImage('D:\images\img1.tif');
float* pSrc2 = ReadImage('D:\images\img2.tif');
float* pDivRes = newfloat[width*height];
longstep = width * sizeof(float);
IppiSizeroiSize = {width, height};
// apply ippi function
ippiDiv_32f_C1R(pSrc1, step, pSrc2, step, pDivRes, step, roiSize);
// compare result to pixelwise division
for (longi=0; i<width*height; i++) {
if (pSrc1[i] == 0)
continue;
floatdivRes = pSrc2[i] / pSrc1[i]; // ref
floatdiff = pDivRes[i] - divRes; // err
if (diff < 0)
diff = -diff;
if (diff > ERR_DIFF) {
cout << "div test failed" << endl;
break;
}
}
}
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Coud you please submit this issue via Intel Premier Support and also include your system confirguration in details?
Thanks,
Ying

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page