精华内容
下载资源
问答
  • 手机测距app

    2016-05-28 10:55:02
    转发:通过手机的摄像头拍摄的图片,获取目标距离。
  • 手机拍照测距的demo。准确度并不高,仅供参考,文章地址:https://blog.csdn.net/hycfire/article/details/80495868
  • 这个是参照物法测距,博客地址:https://blog.csdn.net/hycfire/article/details/80495868
  • 针对基于计算机视觉的安卓手机单目相机测距所面临的初始化尺度难题,提出使用步行者航迹推算算法进行尺度初始化的方案,并完成测距系统的设计与实现。该系统还融合了对极几何算法、捷联式惯性导航和步行者航迹推算...
  • # import the necessary packagesimport numpy as npimport cv2import sysreload(sys)sys.setdefaultencoding('utf8')cap = cv2.VideoCapture(0)cap.set(3,640)cap.set(4,480)cap.set(1, 10.0)def find_marker(image...

    # import the necessary packages

    import numpy as np

    import cv2

    import sys

    reload(sys)

    sys.setdefaultencoding('utf8')

    cap = cv2.VideoCapture(0)

    cap.set(3,640)

    cap.set(4,480)

    cap.set(1, 10.0)

    def find_marker(image):

    # convert the image to grayscale, blur it, and detect edges

    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

    gray = cv2.GaussianBlur(gray, (5, 5), 0)

    edged = cv2.Canny(gray, 35, 125)

    # find the contours in the edged image and keep the largest one;

    # we'll assume that this is our piece of paper in the image

    (cnts, _) = cv2.findContours(edged.copy(), cv2.RETR_LIST,        cv2.CHAIN_APPROX_SIMPLE)

    c = max(cnts, key = cv2.contourArea)

    # compute the bounding box of the of the paper region and return it

    return cv2.minAreaRect(c)

    def distance_to_camera(knownWidth, focalLength, perWidth):

    # compute and return the distance from the maker to the camera

    return (knownWidth * focalLength) / perWidth

    # initialize the known distance from the camera to the object, which

    # in this case is 24 inches

    KNOWN_DISTANCE = 24.0

    # initialize the known object width, which in this case, the piece of

    # paper is 11 inches wide

    KNOWN_WIDTH = 11.0

    # initialize the list of images that we'll be using

    IMAGE_PATHS = ["111.png"]

    # load the furst image that contains an object that is KNOWN TO BE 2 feet

    # from our camera, then find the paper marker in the image, and initialize

    # the focal length

    # loop over the images

    while True:

    ret,frame = cap.read()

    if ret == True:

    frame = cv2.flip(frame, 1)

    #a = out.write(frame)

    #cv2.imshow("frame", frame)

    #image = cv2.imread(IMAGE_PATHS[0])

    image=frame

    marker = find_marker(frame)

    focalLength = (marker[1][0] * KNOWN_DISTANCE) / KNOWN_WIDTH

    # load the image, find the marker in the image, then compute the

    # distance to the marker from the camera

    #image = cv2.imread(imagePath)

    marker = find_marker(frame)

    inches = distance_to_camera(KNOWN_WIDTH, focalLength, marker[1][0])

    dis=(inches / 12)*0.3048

    print dis

    # draw a bounding box around the image and display it

    box = np.int0(cv2.cv.BoxPoints(marker))

    cv2.drawContours(image, [box], -1, (0, 255, 0), 2)

    cv2.putText(image, "%.2f m" % float(dis),

    (image.shape[1] - 250, image.shape[0] - 20), cv2.FONT_HERSHEY_SIMPLEX,

    2.0, (0, 255, 0), 3)

    cv2.imshow("image", image)

    #cv2.imwrite('111_test.jpg',image)

    #cv2.waitKey(0)

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

    break

    else:

    break

    cap.release()

    #out.release()

    cv2.destroyAllWindows()

    展开全文
  • python opencv单目测距 小孔成像原理小孔成像原理 一 用相似三角形计算物体或者目标到相机的距离我们将使用相似三角形来计算相机到一个已知的物体或者目标的距离。相似三角形就是这么一回事:假设我们有一个宽度为 ...

    python opencv单目测距 小孔成像原理

    小孔成像原理

    a4b725a5a282a75e1e1d5f4d347dacda.png

    一 用相似三角形计算物体或者目标到相机的距离

    我们将使用相似三角形来计算相机到一个已知的物体或者目标的距离。

    相似三角形就是这么一回事:假设我们有一个宽度为 W 的目标或者物体。然后我们将这个目标放在距离我们的相机为 D 的位置。我们用相机对物体进行拍照并且测量物体的像素宽度 P 。这样我们就得出了相机焦距的公式:

    F = (P x D) / W

    举个例子,假设我在离相机距离 D = 24 英寸的地方放一张标准的 8.5 x 11 英寸的 A4 纸(横着放;W = 11)并且拍下一张照片。我测量出照片中 A4 纸的像素宽度为 P = 249 像素。

    因此我的焦距 F 是:

    F = (248px x 24in) / 11in = 543.45

    当我继续将我的相机移动靠近或者离远物体或者目标时,我可以用相似三角形来计算出物体离相机的距离:

    D’ = (W x F) / P

    为了更具体,我们再举个例子,假设我将相机移到距离目标 3 英尺(或者说 36 英寸)的地方并且拍下上述的 A4 纸。通过自动的图形处理我可以获得图片中 A4 纸的像素距离为 170 像素。将这个代入公式得:

    D’ = (11in x 543.45) / 170 = 35 英寸

    或者约 36 英寸,合 3 英尺。

    从以上的解释中,我们可以看到,要想得到距离,我们就要知道摄像头的焦距和目标物体的尺寸大小,这两个已知条件根据公式:

    D’ = (W x F) / P

    得出目标到摄像机的距离D,其中P是指像素距离,W是A4纸的宽度,F是摄像机焦距。

    代码 opencv>3.x

    #!usr/bin/python

    # -*- coding: utf-8 -*-

    #定义编码,中文注释

    #import the necessary packages

    import numpy as np

    import cv2

    # 找到目标函数

    def find_marker(image):

    # convert the image to grayscale, blur it, and detect edges

    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

    gray = cv2.GaussianBlur(gray, (5, 5), 0)

    edged = cv2.Canny(gray, 35, 125)

    # find the contours in the edged image and keep the largest one;

    # we'll assume that this is our piece of paper in the image

    (cnts, _) = cv2.findContours(edged.copy(), cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)

    # 求最大面积

    c = max(cnts, key = cv2.contourArea)

    # compute the bounding box of the of the paper region and return it

    # cv2.minAreaRect() c代表点集,返回rect[0]是最小外接矩形中心点坐标,

    # rect[1][0]是width,rect[1][1]是height,rect[2]是角度

    return cv2.minAreaRect(c)

    # 距离计算函数

    def distance_to_camera(knownWidth, focalLength, perWidth):

    # compute and return the distance from the maker to the camera

    return (knownWidth * focalLength) / perWidth

    # initialize the known distance from the camera to the object, which

    # in this case is 24 inches

    KNOWN_DISTANCE = 24.0

    # initialize the known object width, which in this case, the piece of

    # paper is 11 inches wide

    # A4纸的长和宽(单位:inches)

    KNOWN_WIDTH = 11.69

    KNOWN_HEIGHT = 8.27

    # initialize the list of images that we'll be using

    IMAGE_PATHS = ["1.jpg", "2.jpg", "1.jpg"]

    # load the furst image that contains an object that is KNOWN TO BE 2 feet

    # from our camera, then find the paper marker in the image, and initialize

    # the focal length

    #读入第一张图,通过已知距离计算相机焦距

    image = cv2.imread(IMAGE_PATHS[0])

    marker = find_marker(image)

    focalLength = (marker[1][0] * KNOWN_DISTANCE) / KNOWN_WIDTH

    #通过摄像头标定获取的像素焦距

    #focalLength = 811.82

    print('focalLength = ',focalLength)

    #打开摄像头

    camera = cv2.VideoCapture(0)

    while camera.isOpened():

    # get a frame

    (grabbed, frame) = camera.read()

    marker = find_marker(frame)

    if marker == 0:

    print(marker)

    continue

    inches = distance_to_camera(KNOWN_WIDTH, focalLength, marker[1][0])

    # draw a bounding box around the image and display it

    box = np.int0(cv2.boxPoints(marker))

    cv2.drawContours(frame, [box], -1, (0, 255, 0), 2)

    # inches 转换为 cm

    cv2.putText(frame, "%.2fcm" % (inches *30.48/ 12),

    (frame.shape[1] - 200, frame.shape[0] - 20), cv2.FONT_HERSHEY_SIMPLEX,

    2.0, (0, 255, 0), 3)

    # show a frame

    cv2.imshow("capture", frame)

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

    break

    camera.release()

    cv2.destroyAllWindows()

    有问题添加QQ群:686070107

    展开全文
  • 据说IOS12出了这个功能,但是还...用手机从高空拍照片,计算拍出来地图的面积。 具体的细节已经忘得差不多了,只是现在想想那时的三人组还挺怀念的。 转载于:https://www.cnblogs.com/can-i-do/p/11305206.html...

    据说IOS12出了这个功能,但是还一直没有试过,发篇博客给自己点正反馈。

    这个功能,让我想起了以前高中一次实验活动。用手机从高空拍照片,计算拍出来地图的面积。

    具体的细节已经忘得差不多了,只是现在想想那时的三人组还挺怀念的。

    转载于:https://www.cnblogs.com/can-i-do/p/11305206.html

    展开全文
  • 告诉大家一个小功能,高德地图app测距怎么使用? 具体操作如下: 1、首先打开高德地图APP,然后在首页点击左上角个人头像,进入个人页面,如下图: 2、再点击【工具箱】——【测距】,如下图: 3、接着我们在地图上...

    6808860eceb8665aaee5007f87d920b6.gif

    1fb6194be8dfaed849959225554a23f1.gif                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  

    图文来源于网络,若有侵权,请联系删除

    高德地图app是一款大家最常用的导航软件,也已经成为很多人出门必备的导航。告诉大家一个小功能,高德地图app测距怎么使用?

    具体操作如下:

    1、首先打开高德地图APP,然后在首页点击左上角个人头像,进入个人页面,如下图:

    624f7ec82dd7c493dbcdcb33d6af3f1e.png

    2、再点击【工具箱】——【测距】,如下图:

    34a39324673b6c030cf5c56776287b1d.png

    baa856c2779b4ef0d137ef85569afda5.png

    3、接着我们在地图上任意选取地点并点击,设置为起点,如下图:

    0dd49f0ef559e0cb21387a5b5457409f.png

    4、缩小地图比例,在地图上找到另外一点并点击,设置为终点,即可看到两地间距离,如下图:

    2670e596567b1a9d1463d7eb04f7888f.png

    5、还可以继续选择第三个地点来计算距离,这里显示的就是从起点经过设置的第二点再到第三点的距离,如下图:

    848e22425727597fa6f9e247ee3c372b.png

    温馨提示:地图选点所用比例尺越大,地点精度越高,测距准确度越高。

    展开全文
  • 如果手机手机之间可以互联(可能通过2G、3G、4G信号互联),再加上手机具备某种测量手机间距离的功能(比如无线电测距、测方位),那么就可以从没有GPS信号的手机一个连着一个连接到一部尚可接收到GPS信号的手机,...
  • PhaserTape:把智能手机变成测距

    千次阅读 2011-10-28 14:48:00
    在Insert Coin,我们看到了一个新的令人激动的项目,当然目前还差点钱,...或许你还有很多自作的测距仪,但是没有哪一个可以如此智能和易于使用,尤其在一些不易测量的角落。你得做出测量然后在笔记本上记录结果,
  • 用超声波模块来测距是非常方便有效的方式,而且精度比较高。超声波测距模块就是通过测量声波从发出到反射回来的时间来计算距离。因为声音在空气中传播的速度大概在340m/s左右,知道了往返时间再乘以速度就可以得出...
  • 安卓(android)系统手机下载的测距软件如smarttools工具中的测距(distance)工具如何测距离?它用的是摄像头测距,对准要测量的物体之类的就可以得到距离了,用摄像头测距的原理是什么啊?是否可以从摄像头得到...
  • 现在做一个调查报告,用于一个安卓、IOS功能模块开发,手机屏幕理人脸较近(10~20CM)会发出提醒,防止近视。 想咨询下各位大神。 问题1:手机的距离传感器可以获取该距离么? 听说过Psensor,但不知道怎么用,...
  • 安卓(android)系统手机下载的测距软件如smart tools工具中的测距(distance)工具如何测距离?它用的是摄像头测距,对准要测量的物体之类的就可以得到距离了,用摄像头测距的原理是什么啊?是否可以从摄像头得到...
  • 1基于单片机的超声波测距仪设计1系统要求我们组选择制作了一套超声波测距系统,功能有:倒车雷达测量的显示距离在手机APP上显示,设定阈值,若小于设定的距离数值,蜂鸣器发出报警声。2研究目的为了深层次的巩固学习...
  • 本发明涉及电子信息系统领域,尤其涉及一种摄像头测距方法和系统。背景技术:判断当前位置与目标物体之间的距离是日常生活中经常遇到的需求,常见的手持测距装置一般搭载有信号...随着智能手机、平板电脑等智能设...
  • Android 物法测距.rar

    2020-08-05 14:26:52
    Android实现手机测量距离,类似ARCore 功能 Android studio 实现飞行测距代码Demo
  • 超声波测距报警控制芯片4Y22002年,第19期,类别:电子产品与器件 4Y2型测距报警控制专用集成电路,可用于组装... 本集成电路可用于汽车倒车报警器,如自动门铃、自动水喉、洗手机及烘干机、自动路灯控制、各种加料
  • 双摄手机原理解析第18期 今天给大家伙带来双摄技术的“小秘密”。什么是双摄? 从结构上来看,双摄就是两颗单摄模组通过支架组装成一个双摄模组。 好啦,今天科普到此结束,谢谢观看,我们下期再见。 不好意思,刚才...
  • MSP432蓝牙控制小车并进行超声波测距,实时显示在手机蓝牙端
  • 本课题是设计一款无线超声波测量距离的系统,设计内容包括: ...4. 使用ESP8266WIFI模块实现单片机超声波测量数据向手机无线传输,让手机实时显示测量结果。 5. 对超声波测距系统进行软硬件联调,并且做出实物。
  • Android 使用Arcore 实现多点测距

    千次阅读 2018-09-17 13:47:28
    Android 使用Arcore 实现多点测距 主要使用了Anchor(锚点),Pose (姿势/姿态),Node(节点),Vector3(三维向量) github源码 点这里 <== 1.准备 一台支持Arcore的手机 依赖arcore和sceneform...
  • Android sdk开发之一 测距功能

    千次阅读 2014-09-02 16:20:18
    转载地址: ...本示例代码说明:基于最新开发包Android sdkv2.1.3 ... 开始测距,在手机屏幕上选择测距点,finish 结束测距   示例安装到运行方法,手把手教会你:    key的步骤:  1) 申请ke
  • 通过hc05蓝牙模块使手机和stm32开发板能互相发送字符串——DMA&空闲中断 stm32f103之HC_SR04超声波测距 在正点原子MINI板上两个未使用到的引脚作为IO口,一个作为输入,接超声波的ECHO引脚,一个作为输出接...
  • [PConline 评测]说到2019年顶级旗舰手机上最热门的功能,非TOF传感器莫属,通过后置TOF传感器,手机可以捕捉到更加准确和广阔的深度信息,实现体感游戏,美体瘦身等“黑科技”功能。4月29日,荣耀V20正式开启了Magic...
  • 里面包含:①keil工程代码 ②Altium Designer软件画好的的原理图和PCB,可以直接做板(单面板) 简述:超声波测距,通过数码管显示距离,LED闪烁提示。ESP8266wifi模块发送给手机或电脑端。学习用。
  • 这是基于STM32的超声波传感器测距小项目的硬件部分代码,采用UART传输,通过蓝牙传输至手机,在手机上使用app可获取数据。该项目的原理与介绍在博客https://blog.csdn.net/qq_36999901/article/details/87554277有...
  • 1 无线射频,手机电路,电视家电,信号处理,电源电路等电路图应有尽有。 2 PCB使用教程,PCB使用技巧,PCB布线规则,PCB layout经验资料丰富精彩。 3 各类电子课件,电子教材,测量仪表,嵌入式技术,制造技术收藏...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 148
精华内容 59
关键字:

手机测距