Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

IwException from KAZE

I'm seeing exceptions thrown by Intel's IPP while doing a feature detection using a KAZE algorithm object's detect() call. The exception occurs while executing \modules\features2d\src\kaze\KAZEFeatures.cpp's KAZEFeatures::Create_Nonlinear_Scale_Space(), where it starts building Gaussian blurs for its scale space, specifically this line (currently line 104 in rev 73c3d14):

gaussian_2D_convolution(evolution_[0].Lt, evolution_[0].Lt, 0, 0, options_.soffset);

This makes its way down into the imgproc module and then IPP where iwiFilterGaussian() returns an IppStatus of 'ippStsInplaceModeNotSupportedErr (-9997)' which causes it to throw an IwException w/that value. I believe that status is iwiFilterGaussian() signaling that its pSrcImage and pDstImage inputs can't be the same (for an 'in-place' blur in pSrcImage).

I was about to write up a bug report on it, but I wasn't sure if it was my fault...maybe something in my build settings, so I figured I'd ask first. Here's everything I can find in my cmake setup related to IPP...most/all should be at default:

BUILD\BUILD_IPP_IW=true

BUILD\BUILD_WITH_DYNAMIC_IPP=false

If someone can think of something I've maybe hosed myself let me know, I'll fix...otherwise I'll write up an issue (I'm guessing it can always get canceled if not a bug).

IwException from KAZE

I'm seeing exceptions thrown by Intel's IPP while doing a feature detection using a KAZE algorithm object's detect() call. The exception occurs while executing \modules\features2d\src\kaze\KAZEFeatures.cpp's KAZEFeatures::Create_Nonlinear_Scale_Space(), where it starts building Gaussian blurs for its scale space, specifically this line (currently line 104 in rev 73c3d14):

gaussian_2D_convolution(evolution_[0].Lt, evolution_[0].Lt, 0, 0, options_.soffset);

This makes its way down into the imgproc module and then IPP where iwiFilterGaussian() returns an IppStatus of 'ippStsInplaceModeNotSupportedErr (-9997)' which causes it to throw an IwException w/that value. I believe that status is iwiFilterGaussian() signaling that its pSrcImage and pDstImage inputs can't be the same (for an 'in-place' blur in pSrcImage).

My KAZE output appears reasonable despite this--I'm getting keypoints, and they look good--I'm just fearful that one or more failed blurs could be introducing unnecessary noise and keeping the algorithm from its full potential.

I was about to write up a bug report on it, but I wasn't sure if it was my fault...maybe something in my build settings, so I figured I'd ask first. Here's everything I can find in my cmake setup related to IPP...most/all should be at default:

BUILD\BUILD_IPP_IW=true

BUILD\BUILD_WITH_DYNAMIC_IPP=false

If someone can think of something I've maybe hosed myself let me know, I'll fix...otherwise I'll write up an issue (I'm guessing it can always get canceled if not a bug).