门
这次中秋节女朋友跟着妹妹去旅行,可惜没有提前约定。
只能孤独地一个人回老家~BUT女朋友一个人出门怎么能安全?(莎士比亚。)(孤独。)
回家的那天晚上,偷偷接了女朋友手机,打开了GPS定位系统,不用担心~
你以为只打开GPS吗?双重保险!小编偷偷写了一个定位系统,可以通过女朋友发的照片获取全球地址!
是不是很好奇怎么滴~
开始戒毒,往下看!
[句子,需要SO随机创建的对象。这只是效果。请不要骂我。——23333]
正文
为了女朋友不再丢失,今天带大家用定位系统!
首先手机要打开GPS定位。这样拍的照片包含GPS信息哈哈!平时拍的照片中隐藏着很多私人信息。
包括——拍照的时间、GPS信息定位。这里需要调用百度转换成地址哦!
环境安装:Py、pycharm2021、以及自带的模块,你们可自行安排版本。
安装模块:
pip install -i requests pip install -i exifread
Python分析照片详细拍摄地点需要引入exifread模块,该模块用于分析照片信息,提取照片的GPS等信息。
(1) 读取照片的GPS经纬度信息,转换经纬度格式。
def latitude_and_longitude_convert_to_decimal_system(*arg): """ 经纬度转为小数, param arg: :return: 十进制小数 """ return float(arg[0]) + ((float(arg[1]) + (float(arg[2].split('/')[0]) / float(arg[2].split('/')[-1]) / 60)) / 60) def find_GPS_image(pic_path): GPS = {} date = '' with open(pic_path, 'rb') as f: tags = exi(f) for tag, value in (): # 纬度 if re.match('GPS GPSLatitudeRef', tag): GPS['GPSLatitudeRef'] = str(value) # 经度 elif re.match('GPS GPSLongitudeRef', tag): GPS['GPSLongitudeRef'] = str(value) # 海拔 elif re.match('GPS GPSAltitudeRef', tag): GPS['GPSAltitudeRef'] = str(value) elif re.match('GPS GPSLatitude', tag): try: match_result = re.match('\[(\w*),(\w*),(\w.*)/(\w.*)\]', str(value)).groups() GPS['GPSLatitude'] = int(match_result[0]), int(match_result[1]), int(match_result[2]) except: deg, min, sec = [x.replace(' ', '') for x in str(value)[1:-1].split(',')] GPS['GPSLatitude'] = latitude_and_longitude_convert_to_decimal_system(deg, min, sec) elif re.match('GPS GPSLongitude', tag): try: match_result = re.match('\[(\w*),(\w*),(\w.*)/(\w.*)\]', str(value)).groups() GPS['GPSLongitude'] = int(match_result[0]), int(match_result[1]), int(match_result[2]) except: deg, min, sec = [x.replace(' ', '') for x in str(value)[1:-1].split(',')] GPS['GPSLongitude'] = latitude_and_longitude_convert_to_decimal_system(deg, min, sec) elif re.match('GPS GPSAltitude', tag): GPS['GPSAltitude'] = str(value) elif re.match('.*Date.*', tag): date = str(value) return {'GPS_information': GPS, 'date_information': date}
(2)通过baidu Map的API将GPS信息转换成地址。
def find_address_from_GPS(GPS): """ 使用Geocoding API把经纬度坐标转换为结构化地址。 :param GPS: :return: """ secret_key = 'zbLsuDDL4CS2U0M4KezOZZbGUY9iWtVf' if not GPS['GPS_information']: return '该照片无GPS信息' lat, lng = GPS['GPS_information']['GPSLatitude'], GPS['GPS_information']['GPSLongitude'] baidu_map_api = "{0}&callback=renderReverse&location={1},{2}s&output=json&pois=0".format( secret_key, lat, lng) response = reque(baidu_map_api) content = re("renderReverse&&renderReverse(", "")[:-1] print(content) baidu_map_address = j(content) formatted_address = baidu_map_address["result"]["formatted_address"] province = baidu_map_address["result"]["addressComponent"]["province"] city = baidu_map_address["result"]["addressComponent"]["city"] district = baidu_map_address["result"]["addressComponent"]["district"] location = baidu_map_address["result"]["sematic_description"] return formatted_address, province, city, district, location
(3)得出照片的拍摄地址跟时间。
if __name__ == '__main__': GPS_info = find_GPS_image(pic_path=';) address = find_address_from_GPS(GPS=GPS_info) print("拍摄时间:" + GPS_in("date_information")) print('照片拍摄地址:' + str(address))
效果图如下:这是百度上面找的撒!所以没地址哈哈哈。假装.jpg 光明正大看小姐姐~
总结
好啦!本次文章就写到这里啦!记得三连哦~爱你
完整的项目+素材打包好啦还是老规矩源码基地见:#私信小编06或者直接看评论区就知道在哪儿领取源码啦#
1.《怎么更改图片的gps?终于找到答案了女友独自旅游不放心?Python版通过照片定位GPS系统!超好用》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《怎么更改图片的gps?终于找到答案了女友独自旅游不放心?Python版通过照片定位GPS系统!超好用》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/3244110.html