【发布时间】:2018-09-30 06:55:13
【问题描述】:
我正在尝试使用 OpenCV GPU 执行 Dilate 和 Erode 函数,但由于某种原因它返回了黑色图像。我就是想不通是什么问题;
我正在使用的代码:
int erosionDilation_size = 5;
Mat element = cv::getStructuringElement(MORPH_RECT, Size(2*erosionDilation_size + 1, 2*erosionDilation_size+1));
cv::gpu::dilate(_gpuProcessOutput[__n], _gpuProcessOutput[__n],element);
_gpuProcessOutput[__n].download(_frame[__n]);
imshow("Test",_frame[0]);
cvWaitKey(1000/120);
有人知道发生了什么吗?谢谢!
更新 这是我要放大的图像!
【问题讨论】:
-
但是你能发布一个在这个代码上返回黑色图像的图像吗?
-
我已经用图片编辑了主线程!谢谢!
-
我认为元素应该上传到设备。
-
已经上传了,只是上面代码中没有添加这行。我正在使用以下代码上传它: cv::Mat _tempMat; _capture>>_tempMat; _gpuFrame[__n].upload(_tempMat);
-
你能解决这个问题吗?如果你这样做了..你能告诉我们怎么做吗?