gpt4 book ai didi

matlab - 在 opencv 中实现 imclose(IM, SE)

转载 作者:太空宇宙 更新时间:2023-11-03 21:19:46 24 4
gpt4 key购买 nike

我想检测下图的背景,它的前景总是有很多黑点:

img.png

enter image description here

有人用圆盘形结构元素对图像进行形态学收敛,得到了很好的结果:

enter image description here

Matlab代码:

img = imread('c:\img.png');
bg = imclose(img, strel('disk', 15));
figure('name', 'bg'), imshow(bg);

那么如何在 opencv 中实现 imclose(IM, SE) 来代替 MATLAB 中的工作,或者有另一种更好的方法来使用 opencv 方法检测这种背景?

最佳答案

您可以使用 cv::getStructuringElement() 创建椭圆结构元素,并使用 cv::morphologyEx() 执行闭合操作。

cv::morphologyEx(img, img, cv::MORPH_CLOSE, cv::getStructuringElement(cv::MORPH_ELLIPSE, cv::Size(21,21)));

我不得不稍微修改结构元素的大小以产生与您的 MATLAB 示例类似的结果:

Closed image

因为您似乎对 OpenCV 的形态学操作感兴趣,我建议您给 documentation通读以了解它的全部功能。

关于matlab - 在 opencv 中实现 imclose(IM, SE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18339988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com