opencv - 我使用了 simpleblobdetector 方法,我有两个 blob。但现在我想找到每个 blob 的 x 和 y 点以进行角度检测
问题描述
for (std::vector<cv::KeyPoint>::iterator blobIterator = keypoints.begin(); blobIterator != keypoints.end(); blobIterator++)
{
std::cout << "size of blob is: " << blobIterator->size << std::endl;
std::cout << "point is at: " << blobIterator->pt.x << " " << blobIterator->pt.y << std::endl;
}
解决方案
Blob 检测器不存储单个点。OpenCV Q&A 上也出现了类似的问题
http://answers.opencv.org/question/7540/calculate-blob-angle/
基本上有两种方法建议:
- 从主成分分析中找到主轴并找到角度
- 只需在附加图像中绘制的 blob 上使用 findCountours。
玩得开心编码!
推荐阅读
- angular - Angular amcharts标签可点击
- python - 复选框值未在 Views.py Django 中发布
- python - 如何从变量制作数据框?
- flutter - 在 sqflite 颤振中保存收到的推送通知
- linux - 为什么声卡循环运行时不能正常工作
- python - 如何在 TensorFlow GradientTape 中使用多个渐变?
- asp.net-core - .NET 5 Web API:按请求存储数据
- r - 计算每天收集的卫星数据的每周平均值
- php - Symfony 中的原则:使用与不同实体相关的单个“作者”关联实体
- excel - 使用两个单独的密码保护 Excel 工作表/工作簿;一种仅供查看,一种用于查看+编辑