mirror of
https://github.com/opencv/opencv.git
synced 2025-06-21 02:20:50 +08:00
Add bindings and test
This commit is contained in:
parent
0c0083ba72
commit
8baf46c0a8
@ -65,11 +65,20 @@ BORDER_REPLICATE , BORDER_CONSTANT , BORDER_REFLECT and BORDER_WRAP are supporte
|
|||||||
fastNlMeansDenoising
|
fastNlMeansDenoising
|
||||||
*/
|
*/
|
||||||
CV_EXPORTS void nonLocalMeans(InputArray src, OutputArray dst,
|
CV_EXPORTS void nonLocalMeans(InputArray src, OutputArray dst,
|
||||||
float h,
|
float h,
|
||||||
int search_window = 21,
|
int search_window = 21,
|
||||||
int block_size = 7,
|
int block_size = 7,
|
||||||
int borderMode = BORDER_DEFAULT,
|
int borderMode = BORDER_DEFAULT,
|
||||||
Stream& stream = Stream::Null());
|
Stream& stream = Stream::Null());
|
||||||
|
CV_WRAP inline void nonLocalMeans(const GpuMat& src, CV_OUT GpuMat& dst,
|
||||||
|
float h,
|
||||||
|
int search_window = 21,
|
||||||
|
int block_size = 7,
|
||||||
|
int borderMode = BORDER_DEFAULT,
|
||||||
|
Stream& stream = Stream::Null())
|
||||||
|
{
|
||||||
|
nonLocalMeans(InputArray(src), OutputArray(dst), h, search_window, block_size, borderMode, stream);
|
||||||
|
};
|
||||||
|
|
||||||
/** @brief Perform image denoising using Non-local Means Denoising algorithm
|
/** @brief Perform image denoising using Non-local Means Denoising algorithm
|
||||||
<http://www.ipol.im/pub/algo/bcm_non_local_means_denoising> with several computational
|
<http://www.ipol.im/pub/algo/bcm_non_local_means_denoising> with several computational
|
||||||
@ -93,10 +102,18 @@ FastNonLocalMeansDenoising::labMethod.
|
|||||||
fastNlMeansDenoising
|
fastNlMeansDenoising
|
||||||
*/
|
*/
|
||||||
CV_EXPORTS void fastNlMeansDenoising(InputArray src, OutputArray dst,
|
CV_EXPORTS void fastNlMeansDenoising(InputArray src, OutputArray dst,
|
||||||
float h,
|
float h,
|
||||||
int search_window = 21,
|
int search_window = 21,
|
||||||
int block_size = 7,
|
int block_size = 7,
|
||||||
Stream& stream = Stream::Null());
|
Stream& stream = Stream::Null());
|
||||||
|
CV_WRAP inline void fastNlMeansDenoising(const GpuMat& src, CV_OUT GpuMat& dst,
|
||||||
|
float h,
|
||||||
|
int search_window = 21,
|
||||||
|
int block_size = 7,
|
||||||
|
Stream& stream = Stream::Null())
|
||||||
|
{
|
||||||
|
fastNlMeansDenoising(InputArray(src), OutputArray(dst), h, search_window, block_size, stream);
|
||||||
|
}
|
||||||
|
|
||||||
/** @brief Modification of fastNlMeansDenoising function for colored images
|
/** @brief Modification of fastNlMeansDenoising function for colored images
|
||||||
|
|
||||||
@ -124,6 +141,14 @@ CV_EXPORTS void fastNlMeansDenoisingColored(InputArray src, OutputArray dst,
|
|||||||
int search_window = 21,
|
int search_window = 21,
|
||||||
int block_size = 7,
|
int block_size = 7,
|
||||||
Stream& stream = Stream::Null());
|
Stream& stream = Stream::Null());
|
||||||
|
CV_WRAP inline void fastNlMeansDenoisingColored(const GpuMat& src, CV_OUT GpuMat& dst,
|
||||||
|
float h_luminance, float photo_render,
|
||||||
|
int search_window = 21,
|
||||||
|
int block_size = 7,
|
||||||
|
Stream& stream = Stream::Null())
|
||||||
|
{
|
||||||
|
fastNlMeansDenoisingColored(InputArray(src), OutputArray(dst), h_luminance, photo_render, search_window, block_size, stream);
|
||||||
|
}
|
||||||
|
|
||||||
//! @} photo
|
//! @} photo
|
||||||
|
|
||||||
|
@ -64,5 +64,10 @@ class cuda_test(NewOpenCVTests):
|
|||||||
self.assertTrue(cuMat.step == 0)
|
self.assertTrue(cuMat.step == 0)
|
||||||
self.assertTrue(cuMat.size() == (0, 0))
|
self.assertTrue(cuMat.size() == (0, 0))
|
||||||
|
|
||||||
|
def test_cuda_denoising(self):
|
||||||
|
self.assertEqual(True, hasattr(cv.cuda, 'fastNlMeansDenoising'))
|
||||||
|
self.assertEqual(True, hasattr(cv.cuda, 'fastNlMeansDenoisingColored'))
|
||||||
|
self.assertEqual(True, hasattr(cv.cuda, 'nonLocalMeans'))
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
NewOpenCVTests.bootstrap()
|
NewOpenCVTests.bootstrap()
|
||||||
|
Loading…
Reference in New Issue
Block a user