opencv - OpenCV kmeans二值图像
问题描述
我正在尝试在二进制图像上使用 opencv kmeans 函数,但我不知道如何设置其参数。
我的最终目标是找到两个 blob 中心。
vector<Point2f> centers;
Mat points;
findNonZero(binary_image, points);
points.convertTo(points, CV_32F);
kmeans(points, overlapped, Mat(), TermCriteria( TermCriteria::EPS+TermCriteria::COUNT, 10, 1.0), 3,
KMEANS_PP_CENTERS, centers );
第一个参数需要特定格式。所以我试图修复它但它有一个错误
实际上,我不知道如何专门在二进制图像中使用 Kmeans 函数。
你能帮我如何使用它吗?
解决方案
vector<Point2f> centers;
Mat points;
Mat labels;
findNonZero(temp, points);
points.convertTo(points, CV_32F);
kmeans(points, overlapped, labels, TermCriteria( TermCriteria::EPS+TermCriteria::COUNT, 10, 1.0), 3,
KMEANS_PP_CENTERS, centers );
这是一个简单的问题。我改变了第三个参数。
谢谢!
推荐阅读
- android - Detect hardware keyboard
- python - 在没有临时条件的情况下重用 if-else 条件下的函数输出
- vhdl - Finite State Machine with Its States Controlled by Two Processes
- json - 蟒蛇3 | 解析 JSON | 索引超出范围 | 无法访问数组的第一列
- python - 张量流中的训练精度下降
- multithreading - 从不同线程中的繁重操作同步写入文件
- java - playerMovement 的 ActionListener 或 Action
- c# - 在检索文档 REST API C# 时使用 Docusign 获得一个异常
- flutter - 自定义卡片形状 Flutter SDK
- javascript - Sonar javascript 静态代码分析 - 缺少 javascript riport。Maven项目