OpenCV cv::getStructuringElement 与 CV_SHAPE_ELLIPSE 生成黑色正方形

Mae*_*cky 5 c++ opencv

我正在尝试对图像进行膨胀,并希望使用光盘进行膨胀操作。但无论我尝试什么,我总是得到一个黑色方块:

dilSize = 12;
kern = cv::getStructuringElement( CV_SHAPE_ELLIPSE, cv::Size( dilSize + 1, dilSize + 1 ) );

cv::dilate( im, im, kern, cv::Point( -1, -1 ), 10 );
cv::imwrite( "ker.png", ker );
Run Code Online (Sandbox Code Playgroud)

结果是 PNG 图像中的 13x13 像素黑色正方形...

我究竟做错了什么?

Mae*_*cky 7

由于cv::getStructuringElement仅创建零和一,因此不存在光学差异。

添加:

kernel *= 255;
Run Code Online (Sandbox Code Playgroud)

在写图像之前,先解开谜团;)