gpt4 book ai didi

c++ - 从图像中去除小 Blob

转载 作者:行者123 更新时间:2023-11-28 05:01:13 24 4
gpt4 key购买 nike

我需要删除图像中的所有 Blob ,但做不到。我尝试了许多阈值操作,但没有任何帮助。我正在使用 OpenCV 和 Qt (C++)。示例:

cv::adaptiveThreshold(input, output, 125,
ADAPTIVE_THRESH_GAUSSIAN_C, THRESH_BINARY_INV, 13, 25);

输入/输出:

Input Image

Output Image

最佳答案

看来你想破解一些东西:)

我建议您尝试使用一些 Blob 检测算法...查看 this link .然后,您可以按区域过滤 Blob 。

这里是一个简短的片段:

using namespace cv;
// Read image
Mat im = imread( "blob.jpg", IMREAD_GRAYSCALE );

// Set up the detector with default parameters.
SimpleBlobDetector detector;

// Detect blobs.
std::vector<KeyPoint> keypoints;
detector.detect( im, keypoints);

// Draw detected blobs as red circles.
// DrawMatchesFlags::DRAW_RICH_KEYPOINTS flag ensures the size of the circle corresponds to the size of blob
Mat im_with_keypoints;
drawKeypoints( im, keypoints, im_with_keypoints, Scalar(0,0,255), DrawMatchesFlags::DRAW_RICH_KEYPOINTS );

// Show blobs
imshow("keypoints", im_with_keypoints );
waitKey(0);

这是结果: enter image description here

所有的 Blob 都用圆圈突出显示

还有 morphological operations可以改善形象。特别是开闭操作可以改善图像并去除噪声:

打开后的效果:

Opening

关闭操作后:

enter image description here

关于c++ - 从图像中去除小 Blob ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45915779/

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