【Python&GIS】无人机影像的像素坐标计算图片某点的地理/投影坐标

这篇具有很好参考价值的文章主要介绍了【Python&GIS】无人机影像的像素坐标计算图片某点的地理/投影坐标。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        又是掉头发的一天,今天的任务是通过图片中心点的地理坐标以及图片中某点的像素坐标(即这个点位于图片中的x,y坐标)计算该点的地理/投影坐标。经过一整天的搜索,发现网上并没有这方面的教程。然后就是想啊想,头发一抓一大把,终于在网上零零散散的教程以及不断摸索中解决了这个问题。

        大致思路就是,先获取图片相对真北方向的偏转角以及该点和图片中心的连线与图片的正北方向夹角;然后将图片中心点的地理坐标转换为投影坐标(如果这一步没有中心点的地理坐标,那么你就不用继续往下看了);最后就是通过图片分辨率计算点到中心的实际距离,再通过夹角和中心点的投影坐标加加减减即可。话虽这么说,但实施起来真心不简单啊!!!

一、准备工作

1.获取图片中心点的经纬度坐标/投影坐标(必须)

        如果只有一张图片的话,你完全可以右键图片,查看其属性,里面就有经纬度坐标。同时也可以使用Python实现,之前分享过【Python&GIS】判断图片中心点/经纬度点是否在某个面内,所以这里就不解释了,直接上代码。

def Get_LatLon(path_image):
    """
    :param path_image: 输入图片路径
    :return: 返回中心点经纬度
    """
    # 获取图片的经纬度信息
    f = open(path_image, 'rb')
    contents = exifread.process_file(f)
    longitude = contents["GPS GPSLongitude"].values
    longitude_f = longitude[0].num/longitude[0].den + (longitude[1].num/longitude[1].den/60) + (longitude[2].num/longitude[2].den/3600)
    latitude = contents["GPS GPSLatitude"].values
    latitude_f = latitude[0].num/latitude[0].den + (latitude[1].num/latitude[1].den/60) + (latitude[2].num/latitude[2].den/3600)
    f.close()
    return longitude_f, latitude_f

2.获取图片与真北方向的偏转角(非必须)

        如果你的图片并不是无人机拍的,或者拍摄时图片与真北方向并无夹角,那么就不需要这一步。这一步主要就是矫正相机拍摄时的偏转,每种无人机的参数名可能不一样,所以需要自行修改。

        下面的代码也可以获取图片中心点的经纬度,但我之前以及用过第一步的代码了,所以就继续使用第一步的了,你们可以自己简化。

def Get_Image_Yaw_angle(file_path):
    """
    :param file_path: 输入图片路径
    :return: 图片的偏航角
    """
    # 获取图片偏航角
    b = b"\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e"
    a = b"\x3c\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20"
    img = open(file_path, 'rb')
    data = bytearray()
    dj_data_dict = {}
    flag = False
    for line in img.readlines():
        if a in line:
            flag = True
        if flag:
            data += line
        if b in line:
            break
    if len(data) > 0:
        data = str(data.decode('ascii'))
        lines = list(filter(lambda x: 'drone-dji:' in x, data.split("\n")))
        for d in lines:
            d = d.strip()[10:]
            key, value = d.split("=")
            dj_data_dict[key] = value
    # print("Image_yaw",dj_data_dict["FlightYawDegree"][1:-1])
    return float(dj_data_dict["FlightYawDegree"][1:-1])

3.获取图片目标点与中心点的连线和图片正北方向的夹角(必须)

        通俗来说,就是该点与图片正上方的夹角,同样这步也是用来矫正偏转的,获取该角度后,即可得到该点在投影坐标系中与真北方向的夹角。文章来源地址https://www.toymoban.com/news/detail-602679.html

def Yaw_angle_calculation(x, y, x_Center, y_Center):
    """
    :param x: 输入图片目标点的栅格坐标x
    :param y: 输入图片目标点的栅格坐标y
    :param x_Center: 输入图片的中心点x坐标
    :param y_Center: 输入图片的中心点y坐标
    :return: 目标点相对于中心点的偏转角度
    &#

到了这里,关于【Python&GIS】无人机影像的像素坐标计算图片某点的地理/投影坐标的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 无人机视频与GIS融合三维实景怎么实现?

    无人机视频与GIS融合三维实景怎么实现?无人机三维GIS作为一项新兴的测绘重要手段,具有续航时间长、成本低、机动灵活等优点,为城市的规划建设带来极大便利。 那么此项技术有什么样的特点呢?下面智汇云舟就带大家一起来了解一下。   三维是将采集以及经运算分析后对

    2024年02月14日
    浏览(42)
  • 无人机影像配准并发布(共线方程)

    无人机影像 + DEM 计算四个角点坐标(刚性变换) 像空间坐标(x,y,-f) 像空间坐标畸变纠正 deltax,deltay 已知(x,y),求解(X,Y, Z)或者(Lat,Lon) 这里的Z是DEM上获取的坐标和Zs为相机坐标的高程,如果均为已知的情况下,则可以求解(X,Y),这里的(X,Y,Z)为地固地心坐标,单位为米。平地

    2024年02月15日
    浏览(42)
  • 利用校正板对无人机影像辐射校正

    无人机影像上获取到的数据是反映传感器对光响应的数值特征(即DN值),但DN值与环境光强及相机参数有关,只有将其转换为反射率才能较好的反映地物的特征。一般的转换方法是使用二向反射率已知的校正板进行 「单点比值」 (只有一块校正板)和 「统计回归模型」 (

    2023年04月26日
    浏览(39)
  • 无人机遥感在农林信息提取中的实现方法与GIS融合制图教程

    详情点击链接:无人机遥感在农林信息提取中的实现方法与GIS融合制图 遥感技术作为一种空间大数据手段,能够从多时、多维、多地等角度,获取大量的农情数据。数据具有面状、实时、非接触、无伤检测等显著优势,是智慧农业必须采用的重要技术之一。              

    2024年02月12日
    浏览(52)
  • Arcgis处理:单波段提取详细步骤(以农田无人机影像为例)

    1.窗口-影像分析 2.选择要提取单波段的影像-添加函数 3.选择影像-插入函数-波段提取函数 4.方法:根据波段顺序提取-选择波段 5.提取单波段-组合:与波段对应(需要知道每一个ID具体对应的波段) 6.确定 . 7.选中提取的出来的单波段影像-保存

    2024年01月25日
    浏览(49)
  • photoscan(metashape)跑GPS辅助的无人机影像SfM(空三)教程

      刚打开的photoscan界面如下图所示:   然后,点击工作区左上角的添加堆块选项:   可以看到新增了一个名为“Chunk 1”的堆块,然后,右击“Chunk 1”,依次选择add、添加照片:   即可弹出照片选择窗口,到指定目录下全选图像,然后点击打开即可:   之后,在

    2024年02月13日
    浏览(45)
  • 通过USRP B200软件无线电SDR方式解码无人机坐标飞手坐标,实现无人机探测侦测监控,继而实现反制压制

    环境 详情 电脑 联想 系统 Windows gnuradio gnuradio-3.7.5 uhd UHD-Mirror-release_003_009_002 USRP 型号 USRP-B200-mini          无人机的应用领域越来越广泛,但是其目前大范围广泛使用给安全、安保和隐私带来了许多风险。例如,攻击方可能会使用无人机进行监视、运输非法物品,或通过侵

    2024年02月09日
    浏览(80)
  • 基于Pix4Dmapper的大疆精灵4无人机影像处理

    软件下载地址: 链接:https://pan.baidu.com/s/1amqd6mYHtXVLf13442eEIQ 提取码:k5tr 安装完成后,启动软件。 1、新建项目,选择保存路径和工程文件名。 2、选择添加图像。 3、编辑参数,可默认。 4、选择输出参数,可默认。 5、生成正射影像和DSM。其中1为优化的结果,生成时间较慢

    2024年02月13日
    浏览(42)
  • 从CNN到Transformer:基于PyTorch的遥感影像、无人机影像的地物分类、目标检测、语义分割和点云分类

    我国高分辨率对地观测系统重大专项已全面启动,高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成,将成为保障国家安全的基础性和战略性资源。随着小卫星星座的普及,对地观测已具备多次以上的全球覆盖能力,遥感影像也

    2024年01月22日
    浏览(56)
  • 卷积神经网络(CNN):基于PyTorch的遥感影像、无人机影像的地物分类、目标检测、语义分割和点云分类

    我国高分辨率对地观测系统重大专项已全面启动,高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成,将成为保障国家安全的基础性和战略性资源。随着小卫星星座的普及,对地观测已具备多次以上的全球覆盖能力,遥感影像也

    2024年02月04日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包