你好,我有一个代码,可以测量两点之间的距离,但我认为结果是以像素为单位的,所以想得到距离,但以厘米为单位。

我使用的是微软LifecamHD-3000摄像头,我真的不知道在代码的这一点上该怎么做。

TEST

import cv2

import numpy as np

#Captura de video a traves de la webcam

cap=cv2.VideoCapture(0)

D = []

max_samples = 10000

outfile = open('new.txt', 'w')

while(1):

d=0.1

centers=[]

_, img = cap.read()

hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV) #Se obtiene un histograma basada en las saturaciones de colores.

blue_lower=np.array([95,150,100],np.uint8)

blue_upper=np.array([150,255,255],np.uint8)

blue=cv2.inRange(hsv,blue_lower,blue_upper) #Se crea una mascara utilizando intervalos de color azul.

kernel = np.ones((5 ,5), "uint8") #Crea una matriz de 5x5 la cual recorrera el video,

blue = cv2.morphologyEx(blue,cv2.MORPH_OPEN,kernel)

blue = cv2.morphologyEx(blue,cv2.MORPH_CLOSE,kernel)

blue=cv2.erode(blue,kernel, iterations=1) #Se erosiona utilizando el kernel sobre la mascara.

res1=cv2.bitwise_and(img, img, mask = blue) #La nueva imagen reemplazara a blue.

(_,contours,hierarchy)=cv2.findContours(blue,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) #Encuentra los contornos de los objetos que se ven en el filtro

for pic, contour in enumerate(contours):

area = cv2.contourArea(contour) #funcion de opencv que obtiene los contornos

mayor_contorno = max(contours, key = cv2.contourArea)

if(area>2000):

x,y,w,h = cv2.boundingRect(contour) #Encuentra coordenadas de los contornos.

img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)

cv2.putText(img,"Marcador",(x,y),cv2.FONT_HERSHEY_SIMPLEX, 0.7, (255,0,0))

M = cv2.moments(contour) #Se obtiene el centro de masa de los marcadores enconrados.

cx = int(M['m10'] /M['m00'])

cy = int(M['m01'] /M['m00'])

centers.append([cx,cy])

cv2.circle(img, (cx, cy), 7, (255, 255, 255), -1)

if len(centers)==2:

D = (np.linalg.norm(cx-cy)) #Se aplica distancia euclidiana para encontrar la distancia entre los centros de masa.

print(D)

outfile.write("{0} \n".format(D))

cv2.imshow("Color Tracking",img)

if cv2.waitKey(10) & 0xFF == ord('q'):

outfile.close()

print('Los datos han sido enviados al doctor')

cap.release()

cv2.destroyAllWindows()

break

pythonopencv测距_如何在opencv中测量两点之间的距离(像素到厘米)相关推荐

  1. Gps测量两点之间的距离

    点击下面的链接可以打开一个在线的根据两点之间的gps经纬度得到两地之间的距离: 在线距离计算 一个截图: 你看到这里的时候,是不是认为我们输入的就是弧度制的数值,如果是的话,那就错了. GPS向我们传 ...

  2. java多边形晕线的方法_如何在OpenCV中绘制一组封闭的多边形曲线,将每个线段表示为不同的颜色(即在彩虹色空间中)?...

    我正在学习使用cv2.approxPolyDP函数将OpenCV轮廓分割成更简单更相关的曲线 . 我想为自己说明这一点,以便更好地了解正在发生的事情 . 我越来越近了,cv2.approxPolyDP ...

  3. python设置横坐标间隔_如何在matplotlib中更改刻度之间的间距?

    刻度标签之间的间距完全由轴上刻度之间的间距决定.因此,在给定的ticklabel之间获得更多空间的唯一方法是使轴更大. 为了确定标签不重叠所需的空间,可以找出最大的标签并将其长度乘以滴答标签的数量.然 ...

  4. python中求两点之间的距离_python – 列表中两点之间的距离公式

    我需要创建一个列表,找到最接近的两个点,然后打印出来.如何比较列表中的每个点? 没有任何需要绘制或任何东西,只是比较点,找到列表中最接近的两个. import math # 'math' needed ...

  5. 给定经纬度计算距离_根据经纬度计算地球上两点之间的距离js实现代码

    利用JS实现的根据经纬度计算地球上两点之间的距离 最近用到了根据经纬度计算地球表面两点间距离的公式,然后就用JS实现了一下. 计算地球表面两点间的距离大概有两种办法. 第一种是默认地球是一个光滑的球面 ...

  6. python中坐标怎么表示_如何在Python中以像素表示(有限)平面上的坐标

    我假设你有十进制坐标,比如50.3869881,-4.6177269,南北优先.在 因为你有一个相当小的地图,我们不需要担心地球的曲率,我们可以假设我们有一个线性地图,所以地图上点的(x,y)坐标将是 ...

  7. 如何在OpenCV中为InRange阈值选择颜色的最佳HSV值

    如何在OpenCV中为InRange阈值选择颜色的最佳HSV值 1. 效果图 2. 源码 参考 之前的博客介绍了如何使用Python,OpenCV通过HSV颜色空间转换检测对象,并进行轨迹追踪.怎么选 ...

  8. figma设计_如何在Figma中构建设计入门套件(第1部分)

    figma设计 Figma教程 (Figma Tutorial) Do you like staring at a blank canvas every time you start a new pr ...

  9. opencv 锐化 java_如何在OpenCV中锐化图像?

    如何在OpenCV中锐化图像? 如何使用OpenCV锐化图像? 有许多平滑或模糊的方法,但没有我能看到的锐化. 7个解决方案 147 votes 关于反锐化掩蔽的维基百科文章中列出了一个通用程序:您使 ...

最新文章

  1. 使用rpmbuild对ceph的源码包进行重新打包
  2. android学习笔记之十服务(Service)
  3. python的print函数
  4. git reset revert 回退回滚取消提交返回上一版本
  5. 鼠标放到控件上 DIV悬浮提示效果(四种)
  6. 计算机一级考试有三科,全国计算机一级考试是一级WPS Office 一级MS Office 一级Photoshop 三个任选一个考试吗?...
  7. 荣耀v40可以升级华为鸿蒙,网传荣耀V40机型也能升级鸿蒙OS 首批更新机型有望是这5款...
  8. GPS/轨迹追踪、轨迹回放、围栏控制
  9. Hibernate的持久化
  10. 5v 3.3v电平转换电路_MOS管电平转换电路,硬件工程师居家旅行、看门护院的必备良药...
  11. 05. 对定制的类型转换函数保持警觉
  12. css整理-03 文本
  13. spring nature
  14. 视频直播连麦技术详解
  15. drools 6.5 决策表使用
  16. 使用theano进行深度学习实践(一)
  17. 如何使用计算机上合并计算方法,Excel2019中合并计算的使用方法
  18. MFO问题与MFEA算法
  19. Quectel EC20 R2.1 AT指令集(基础部分)
  20. 刨根问底Objective-C Runtime(1)- Self Super

热门文章

  1. STM32利用STM32CubeMX驱动SDRAM
  2. c#控件弹幕效果_Android 自定义View修炼-自定义弹幕效果View
  3. 揭秘你不知道的阅卷现场
  4. 一公司禁止婚外情和出轨,称如果员工出现此类情况,将予以辞退处理
  5. Android 视图架构详解
  6. 软考2021年报考——软件设计师中级 全国计算机技术与软件专业技术资格(水平)考试
  7. mac 桌面分屏软件_可能是Mac上最好用的分屏软件
  8. 学小语种和计算机哪个更好,学习小语种专业哪家强?这几所语言类高校最合适...
  9. 代码动态设置tabLayout 导航条宽度
  10. 区块链有助金融监管效能提升 探讨区块链未来发展趋势