Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

OpenCV 2.4.6.0 GPU resize interpolation bug/problem

Hi,

When comaparing the output of the CPU version of resize to the GPU version of resize, I noticed that the resize function on GPU is not interpolating correctly. In fact, it appears to be a simple pixel decimation instead of ANY type of interpolation. According to the docs, there are 3 supported interpolation methods, in my testing all of them produced the same result. I've tried the CV_INTER_LINEAR definition as well as the cv::INTER_LINEAR, both resulting in same output. The CPU resize output is correct.

Is there a configuration setting that enables this support during compile time? Or some other function/option/switch/method that needs to be set or invoked prior to a gpu resize call?

Thanks for any help!

click to hide/show revision 2
additional information

OpenCV 2.4.6.0 GPU resize interpolation bug/problem

Hi,

When comaparing the output of the CPU version of resize to the GPU version of resize, I noticed that the resize function on GPU is not interpolating correctly. In fact, it appears to be a simple pixel decimation instead of ANY type of interpolation. According to the docs, there are 3 supported interpolation methods, in my testing all of them produced the same result. I've tried the CV_INTER_LINEAR definition as well as the cv::INTER_LINEAR, both resulting in same output. The CPU resize output is correct.

Is there a configuration setting that enables this support during compile time? Or some other function/option/switch/method that needs to be set or invoked prior to a gpu resize call?

Thanks for any help!

Edit: Found a difference in my comparison, corrected it, and the CPU vs GPU resize is still different but it's closer... What differences should be expected if any? Should they be exactly identical?

click to hide/show revision 3
retagged

updated 2013-09-27 11:05:02 -0600

berak gravatar image

OpenCV 2.4.6.0 GPU resize interpolation bug/problem

Hi,

When comaparing the output of the CPU version of resize to the GPU version of resize, I noticed that the resize function on GPU is not interpolating correctly. In fact, it appears to be a simple pixel decimation instead of ANY type of interpolation. According to the docs, there are 3 supported interpolation methods, in my testing all of them produced the same result. I've tried the CV_INTER_LINEAR definition as well as the cv::INTER_LINEAR, both resulting in same output. The CPU resize output is correct.

Is there a configuration setting that enables this support during compile time? Or some other function/option/switch/method that needs to be set or invoked prior to a gpu resize call?

Thanks for any help!

Edit: Found a difference in my comparison, corrected it, and the CPU vs GPU resize is still different but it's closer... What differences should be expected if any? Should they be exactly identical?