Opencv-python 计算点到直线的垂足点

代码

import numpy as np
import cv2 as cv# 获取直线起始,结束点
def get_line_se(img, line):rows, cols = img.shape[:2][vx, vy, x, y] = lineleft_y = int((-x * vy / vx) + y)right_y = int(((cols - x) * vy / vx) + y)start_point = (0, left_y)end_point = (right_y, cols - 1)return start_point, end_point# 获取直线 与 点的垂足
def get_foot(start_point, end_point, point_a):start_x, start_y = start_pointend_x, end_y = end_pointpa_x, pa_y = point_ap_foot = [0, 0]if start_point[0] == end_point[0]:p_foot[0] = start_point[0]p_foot[1] = point_a[1]return p_footk = (end_y - start_y) * 1.0 / (end_x - start_x)a = kb = -1.0c = start_y - k * start_xp_foot[0] = int((b * b * pa_x - a * b * pa_y - a * c) / (a * a + b * b))p_foot[1] = int((a * a * pa_y - a * b * pa_x - b * c) / (a * a + b * b))return p_footdef main():img_org = np.zeros((400, 400, 3), np.uint8)line = [0.834612, 0.55083823, 44.620255, 32.430378]point = (200, 200)# 获取直线起始,结束点start_point, end_point = get_line_se(img_org, line)# 获取直线 与 点的垂足p_foot = get_foot(start_point, end_point, point)# 显示结果img_show = img_org.copy()cv.line(img_show, start_point, end_point, (255, 0, 0), 3)cv.circle(img_show, point, 5, (0, 0, 255), -1)cv.circle(img_show, p_foot, 8, (0, 255, 255), -1)cv.imshow('img_show', img_show)# cv.imwrite('img_show.jpg', img_show)cv.waitKey()cv.destroyAllWindows()if __name__ == '__main__':main()

Opencv-python 计算点到直线的垂足点相关推荐

  1. python计算点到直线的距离_Python求平面内点到直线距离的实现

    近期遇到个问题,需要计算平面内点到直线的距离,发现数学知识都还给老师了,度娘后找到计算方法,特此记录. 点到直线的计算公式: 通过公式推导,得到信息: a:直线斜率 b:固定值-1 c:直线截距b 转 ...

  2. Dynamo如何简单方便地计算点到直线或者平行直线之间的距离

    问题描述: 我们在Dynamo上面进行二次开发的时候可能遇到距离计算的问题,传统的python计算方式严格利用数学公式推导,但由于Revit是一个三维的工作空间,计算过程冗杂,其实利用Dynamo内置 ...

  3. 牛客小白月赛2-B小马过河(求点到直线的垂足)

    题目链接 求点到直线的垂足分为 空间 .平面 原理: 空间: #include<iostream> #include<cmath> using namespace std; c ...

  4. 【Halcon 计算点到直线和点到直线延长线的距离】

    Halcon 计算点到直线和点到直线延长线的距离 提示:Halcon计算点到直线的距离.(验证精度)点到直线延长线的距离 前言 实际项目进展过程中会应用到,计算直线与直线,点与直线距离计算,偶然发现, ...

  5. python计算点到面的距离

    python计算点到面的距离 已知M个点,记P∈R^(M*3),目的是求M个点到平面Z= aX + bY + c的距离解法1: 使用平面的法向量来求解 平面Z= aX + bY + c的法向量为[a, ...

  6. C语言计算点到直线的距离

    /*计算点到直线之间的距离*/ double dis_calculate(vec2d_t *point, vec2d_t *line_point_1, vec2d_t *line_point_2){/ ...

  7. c 空间点到直线的垂足及距离计算

    已知条件: 已知空间一个点的坐标a(x0,y0,z0),已知空间的另外两个点的坐标b(x1,y1,z1),c(x2,y2,z2),求a点到 b,c两点所在直线的 距离最近的点的坐标 可以说是a点到 过 ...

  8. 计算点到直线的垂点坐标

    第一种: 设直线方程为ax+by+c=0,点坐标为(m,n)     则垂足为((b*b*m-a*b*n-a*c)/(a*a+b*b),(a*a*n-a*b*m-b*c)/(a*a+b*b)) 第二种 ...

  9. 求点到直线的垂足和最近点

    1.公式(比较稳啊) 设直线方程为ax+by+c=0,点坐标为(m,n) 则垂足为((b*b*m-a*b*n-a*c)/(a*a+b*b),(a*a*n-a*b*m-b*c)/(a*a+b*b)) 2 ...

最新文章

  1. 迷你世界电锯机器人_迷你世界:三分钟制作超简单飞翔石像机器人报道!
  2. Win8Metro(C#)数字图像处理--2.24二值图像闭运算
  3. GRE核心词汇助记与精练-List8倒、流
  4. PHP—文件与目录操作
  5. 告别2013拥抱2014
  6. 应该把script标签放在哪里
  7. 从数据仓库系统对比看Hive发展前景
  8. opencv不能读取MP4格式文件
  9. HeadFirst设计模式之命令模式
  10. 《python深度学习》总结与感想
  11. 图书管理系统Java代码
  12. matlab找出向量的中位数,MATLAB如何使用median函数计算样本的中位数
  13. 控制工程中的数学建模(8)——典型环节的数学模型(之四)
  14. Clonezilla笔记----安装Clonezilla Live到U盘
  15. 群晖服务器名修改,闻上云刷黑群晖后免拆机修改序列号和mac地址
  16. 利用免费cdn加速webpack单页应用
  17. 操作系统进程同步作业题
  18. OpenCV python 轮廓的极值点
  19. 适合零基础编程学员学习的网站,APP
  20. 该虚拟机似乎正在使用中

热门文章

  1. 视频文件中帧IBP帧的说明
  2. 不用去验血,一查就能知道自己缺什么,一定要收好
  3. 陕西咸阳协警在宾馆坐窗台与女子聊天坠楼身亡
  4. flyme8.1.5.0A精简内置软件包
  5. 【运维知识基础篇】Linux常用基础命令(四)
  6. 泰坦陨落2 - 概念艺术
  7. echo控制OneNET硬件设备
  8. PTA L1-002 打印沙漏(详解)
  9. C语言文件知识——fopen创建文件并输入内容
  10. “couldn‘t connect to trainer on port 5004 using api version 1.4.0. will perform inference instead.”