pythonopencv测距_如何在opencv中测量两点之间的距离(像素到厘米)
你好,我有一个代码,可以测量两点之间的距离,但我认为结果是以像素为单位的,所以想得到距离,但以厘米为单位。
我使用的是微软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中测量两点之间的距离(像素到厘米)相关推荐
- Gps测量两点之间的距离
点击下面的链接可以打开一个在线的根据两点之间的gps经纬度得到两地之间的距离: 在线距离计算 一个截图: 你看到这里的时候,是不是认为我们输入的就是弧度制的数值,如果是的话,那就错了. GPS向我们传 ...
- java多边形晕线的方法_如何在OpenCV中绘制一组封闭的多边形曲线,将每个线段表示为不同的颜色(即在彩虹色空间中)?...
我正在学习使用cv2.approxPolyDP函数将OpenCV轮廓分割成更简单更相关的曲线 . 我想为自己说明这一点,以便更好地了解正在发生的事情 . 我越来越近了,cv2.approxPolyDP ...
- python设置横坐标间隔_如何在matplotlib中更改刻度之间的间距?
刻度标签之间的间距完全由轴上刻度之间的间距决定.因此,在给定的ticklabel之间获得更多空间的唯一方法是使轴更大. 为了确定标签不重叠所需的空间,可以找出最大的标签并将其长度乘以滴答标签的数量.然 ...
- python中求两点之间的距离_python – 列表中两点之间的距离公式
我需要创建一个列表,找到最接近的两个点,然后打印出来.如何比较列表中的每个点? 没有任何需要绘制或任何东西,只是比较点,找到列表中最接近的两个. import math # 'math' needed ...
- 给定经纬度计算距离_根据经纬度计算地球上两点之间的距离js实现代码
利用JS实现的根据经纬度计算地球上两点之间的距离 最近用到了根据经纬度计算地球表面两点间距离的公式,然后就用JS实现了一下. 计算地球表面两点间的距离大概有两种办法. 第一种是默认地球是一个光滑的球面 ...
- python中坐标怎么表示_如何在Python中以像素表示(有限)平面上的坐标
我假设你有十进制坐标,比如50.3869881,-4.6177269,南北优先.在 因为你有一个相当小的地图,我们不需要担心地球的曲率,我们可以假设我们有一个线性地图,所以地图上点的(x,y)坐标将是 ...
- 如何在OpenCV中为InRange阈值选择颜色的最佳HSV值
如何在OpenCV中为InRange阈值选择颜色的最佳HSV值 1. 效果图 2. 源码 参考 之前的博客介绍了如何使用Python,OpenCV通过HSV颜色空间转换检测对象,并进行轨迹追踪.怎么选 ...
- figma设计_如何在Figma中构建设计入门套件(第1部分)
figma设计 Figma教程 (Figma Tutorial) Do you like staring at a blank canvas every time you start a new pr ...
- opencv 锐化 java_如何在OpenCV中锐化图像?
如何在OpenCV中锐化图像? 如何使用OpenCV锐化图像? 有许多平滑或模糊的方法,但没有我能看到的锐化. 7个解决方案 147 votes 关于反锐化掩蔽的维基百科文章中列出了一个通用程序:您使 ...
最新文章
- 使用rpmbuild对ceph的源码包进行重新打包
- android学习笔记之十服务(Service)
- python的print函数
- git reset revert 回退回滚取消提交返回上一版本
- 鼠标放到控件上 DIV悬浮提示效果(四种)
- 计算机一级考试有三科,全国计算机一级考试是一级WPS Office 一级MS Office 一级Photoshop 三个任选一个考试吗?...
- 荣耀v40可以升级华为鸿蒙,网传荣耀V40机型也能升级鸿蒙OS 首批更新机型有望是这5款...
- GPS/轨迹追踪、轨迹回放、围栏控制
- Hibernate的持久化
- 5v 3.3v电平转换电路_MOS管电平转换电路,硬件工程师居家旅行、看门护院的必备良药...
- 05. 对定制的类型转换函数保持警觉
- css整理-03 文本
- spring nature
- 视频直播连麦技术详解
- drools 6.5 决策表使用
- 使用theano进行深度学习实践(一)
- 如何使用计算机上合并计算方法,Excel2019中合并计算的使用方法
- MFO问题与MFEA算法
- Quectel EC20 R2.1 AT指令集(基础部分)
- 刨根问底Objective-C Runtime(1)- Self Super
热门文章
- STM32利用STM32CubeMX驱动SDRAM
- c#控件弹幕效果_Android 自定义View修炼-自定义弹幕效果View
- 揭秘你不知道的阅卷现场
- 一公司禁止婚外情和出轨,称如果员工出现此类情况,将予以辞退处理
- Android 视图架构详解
- 软考2021年报考——软件设计师中级 全国计算机技术与软件专业技术资格(水平)考试
- mac 桌面分屏软件_可能是Mac上最好用的分屏软件
- 学小语种和计算机哪个更好,学习小语种专业哪家强?这几所语言类高校最合适...
- 代码动态设置tabLayout 导航条宽度
- 区块链有助金融监管效能提升 探讨区块链未来发展趋势