gpt4 book ai didi

c++ - 使用 opencv C++ 进行图像(颜色?)分割

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:40:23 26 4
gpt4 key购买 nike

http://i.imgur.com/iIv4gJa.png

如图所示,我想输入图像并得到几个片段作为结果。

就好像把最接近的颜色段聚类,所以我觉得很接近meanshift这个概念?

我在这里搜索了相关问题,但仍然不知道如何在 opencv C++ 中开始和构建结构。我正在寻找一些建议,如果能得到一段实现代码供我引用,我将不胜感激!感谢您的帮助!!

============================================= ===

编辑 2015 年 5 月 19 日

让我补充一点,我尝试的实现之一是 Watershed here:( http://blog.csdn.net/fdl19881/article/details/6749976 )。

enter image description here

这并不完美,但我想要的结果。在这个实现中,用户需要手动操作(绘制分水岭线),所以我正在寻找它的自动版本。听起来有点难,但是...我会很感激一些建议或一段代码来做到这一点。

最佳答案

Opencv 文档:Link

参数:here

Meanshift 过滤的示例代码:

#include "opencv2/core/core.hpp"
#include "opencv2/imgproc/imgproc.hpp"

using namespace cv;
using namespace std;

Mat img, res, element;

int main(int argc, char** argv)
{

namedWindow( "Meanshift", 0 );
img = imread( argv[1] );
// GaussianBlur(img, img, Size(5,5), 2, 2);
pyrMeanShiftFiltering( img, res, 20, 45, 3);
imwrite("meanshift.png", res);
imshow( "Meanshift", res );

waitKey();

return 0;
}

这是你的图像的输出,你可能需要在之前使用一些预处理或者找到一些更好的参数:

output

编辑:事先输出一些高斯模糊(代码中的注释)

here

关于c++ - 使用 opencv C++ 进行图像(颜色?)分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30303151/

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