OpenCv copyTo() not working
OpenCv copyTo() not working
我想使用openCv的copyTo()函数对图像应用遮罩,但遮罩不起作用。我仍然得到相同的图像。
当我在网上搜索时,我看到了一些建议,如:
-源图像和目标图像必须不同,-源图像必须具有CV_8U类型,-mask image必须有CV_8U等类型
我试了所有的,但我不能解决这个问题。此外,在官方的OpenCv网站上,没有提到这样的限制。
这是我的一部分代码:
Mat source; //initialized in some way
Mat mask; // this is also initialized in some way
source.copyTo(source, mask);
您的蒙版应该是单通道图像,值为0
或255
。
Mat mask(source.rows, source.cols, CV_8UC1, Scalar(0));
使用上面的掩码图像,您应该在目的地得到一个空白图像,因为所有的掩码值都是零。
使用下面的蒙版,您应该能够获得与源图像相同的目标图像,因为您的整个蒙版图像被255
值激活。
Mat mask(source.rows, source.cols, CV_8UC1, Scalar(255));
对于其他一些蒙版,只有图像的少数区域包含白色像素,您将在目标图像中获得源图像的这些区域。
相关文章:
- GDB - strcmp not working: __strcmp_sse2_unaligned
- QT qScriptConnect is not working
- QDesktopServices::openUrl() not working Qt
- C++ std::set ordering not working with customer class*
- C++ SetWindowText not working
- visual studio 2012 c++ hello world - iostream not working
- getGravity not working?
- Opencv findcontours CV_RETR_EXTERNAL not working
- c++ srand() not working
- std::queue::empty() not working?
- BCB swprintf not working
- 将类型作为指向另一个类的对象的指针的泛型类-NOT WORKING
- LoadLibrary is not working
- gluUnProject not working
- C++ catch bad_alloc not working
- updatelayeredwindow not working
- OpenMP set_num_threads() is not working
- glOrtho not working
- Cuda atomicInc not working
- WinAPI DestroyWindow not working