《图像处理实例》之 曲线之间距离求解
- 本系列历程启发于“禾路老师”的视频课程,学习到两个重要知识点:实战和自己的库!
- 本系列历程多源于answer.opencv论坛的一些牛人的解答,作为小白只是代码的搬运工。
言归正传,请看项目要求:
- 寻找下面这幅图片之中两条白线之间的距离
- 得到每个点到对面线段的最小距离
- 求解平均距离
- 求解最中心距离
思路分析一:
- 指定求解的点,寻找对面一条直线的相对于当求解点平行的切线,然后计算平行线之间的距离
思路分析二:
指定求解点,默认到对面一点最短的距离就为目标距离,利用距离变换求解。
(原因是因为两点之间线段最短)
代码实现:
- 本文利用第二种方法,第一种方法实现太麻烦,第二种相对容易很多。
- 连通域提取
- 距离变换
- 掩膜操作
- 存储YML
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;int main( int argc, const char** argv )
{Mat img=imread("twolines.jpg",IMREAD_GRAYSCALE);threshold(img,img,200,255,CV_THRESH_BINARY); // to delete some noiseMat labels;connectedComponents(img,labels,8, CV_16U);//连通域提取Mat result(img.size(),CV_32FC1,Scalar::all(0));for (int i = 0; i <= 1; i++){Mat mask1 = labels == 1+i;//提取标签信息,当满足条件返回255,不满足返回0Mat mask2 = labels == 1+(1-i);Mat masknot;bitwise_not(mask1,masknot);Mat dist;distanceTransform(masknot,dist, DIST_L2,5,CV_8U);dist.copyTo(result,mask2); //核心一句,直接提取距离信息}FileStorage fs("distCtr.yml",FileStorage::WRITE);fs<<"Image"<<result;fs.release();return 0;
}
参考资料:
- opencv论坛
- opencv官方文档
- 禾路老师视频
- 外国大神博客
转载于:https://www.cnblogs.com/wjy-lulu/p/9159795.html
《图像处理实例》之 曲线之间距离求解相关推荐
- gps两点距离 php,PHP应用:PHP计算百度地图两个GPS坐标之间距离的方法
<PHP应用:PHP计算百度地图两个GPS坐标之间距离的方法>要点: 本文介绍了PHP应用:PHP计算百度地图两个GPS坐标之间距离的方法,希望对您有用.如果有疑问,可以联系我们. 本文实 ...
- php 地图 距离,PHP计算百度地图两个GPS坐标之间距离的方法
这篇文章主要介绍了PHP计算百度地图两个GPS坐标之间距离的方法,是针对百度地图接口开发的典型应用,需要的朋友可以参考下 本文实例讲述了PHP计算百度地图两个GPS坐标之间距离的方法.分享给大家供大家 ...
- 引入Hub再生的最短帧长及主机之间距离的最大值计算
引入Hub再生的最短帧长及主机之间距离的最大值计算 @(计算机网络) 首先看一道题.相关的一个小的知识点想了很久,查了很多书,资料,最后只能暗自说一句,找到有效信息真难.历时三个小时求索不得,出去吃了 ...
- php经纬度之间的距离计算公式,golang与php实现计算两个经纬度之间距离的方法
本文实例讲述了golang与php实现计算两个经纬度之间距离的方法.分享给大家供大家参考,具体如下: golang版本: package main import ( "fmt" & ...
- Python使用matplotlib可视化面积图(Area Chart)、通过给坐标轴和曲线之间的区域着色可视化面积图、在面积图的指定区域添加箭头和数值标签
Python使用matplotlib可视化面积图(Area Chart).通过给坐标轴和曲线之间的区域着色可视化面积图.在面积图的指定区域添加箭头和数值标签 目录
- matlab如求曲线插值点,两条曲线之间的插值(matlab)
好了朋友们.我有以下问题: 我有以下情节的数据. 因此该图的数据文件包含三列. 第二和第三个是x,y点.第一个是这些点所属的系统. 在这种情况下,红色的是20年的系统. 30年来的蓝色. 我想要找到的 ...
- 一张图说明 函数, 实例(对象), 原型之间的关系
前言 很多初学者都对函数,实例(对象), 原型之间的关系理不清楚. 网上五花八门的文章很多,要么不知所云,要么是晦涩难懂. 本文意在用最简洁的语言跟示例让初学者理清楚这三者之间的关系,无需理会其内部原 ...
- 设置弹性框项目之间距离的更好方法
本文翻译自:Better way to set distance between flexbox items To set the minimal distance between flexbox i ...
- 浅谈javascript中原型(prototype)、构造函数、对象实例及三者之间的关系
转自:http://www.cnblogs.com/zhangwei412827/archive/2012/12/14/2816263.html 浅谈javascript中原型(prototype). ...
最新文章
- Linux下升级python2.4-python2.7
- 群晖备份linux分区,黑群晖二合一系统无损扩充系统分区方法补充
- hdu 1281(二分图匹配+增广路)
- ping(团队作业)
- BBIAF的完整形式是什么?
- Maven搭建Nexus私服
- 如何选择学习主流程序语言(一)
- JointJs快速入门
- S5P6818 芯片手册 System Control 章节 理论篇
- 新时期文学专题研究【1】
- kappa一致性检验教程_R语言中的试验一致性检验分析 kappa检验和McNemar检验
- 计算机硬件的五大逻辑部分,计算机的硬件系统由五大部分组成(计算机由几部分组成)...
- 还在花钱抢票?12306 已屏蔽60款抢票软件!
- 京东评价系统更新190301
- 计算机无法完成更新如何处理,Win10更新过程中碰到“无法完成更新”怎么办
- 安卓屏幕坏了怎么把资料拷出来_选择苹果还是安卓呢?(老安卓转苹果11用户体验)...
- Windows环境黑客入侵应急与排查
- pantum打印机驱动安装m6506_一键完成 驱动轻松装_奔图 M6506NW_办公打印评测试用-中关村在线...
- [数据库实战]sql创建一个view视图
- bp神经网络原理 实现过程,bp神经网络的应用案例