您现在的位置是:首页 > 短信大全

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

作者:峨乐时间:2024-04-09 11:47:36分类:短信大全

简介  文章浏览阅读3.9k次,点赞10次,收藏36次。通过图片中心点的地理坐标以及图片中某点的像素坐标(即这个点位于图片中的x,y坐标)计算该点的地理/投影坐标_怎么计算无人机拍摄图像任意一点的gps

点击全文阅读

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

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

原创作者:RS迷途小书童

博客地址:https://blog.csdn.net/m0_56729804?type=blog

一、准备工作

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 longi

点击全文阅读

郑重声明:

本站所有活动均为互联网所得,如有侵权请联系本站删除处理

上一篇:交通专业求职信合集

下一篇:返回列表

我来说两句