精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

女朋友背著我,用 Python 偷偷隱藏了她的行蹤

開發 后端
女朋友會 Python 是多么可怕的一件事!上篇文章發布之后,一位朋友告訴忽略了一件事,假設女朋友會 Python 的話,那豈不是要翻車?如果是這樣的話,女朋友發過來的圖片包含的地理位置是否真實,要打一個 Big Big 的問號了?

1.目標場景

女朋友會 Python 是多么可怕的一件事!

[[282840]]

上篇文章發布之后,一位朋友告訴忽略了一件事,假設女朋友會 Python 的話,那豈不是要翻車?如果是這樣的話,女朋友發過來的圖片包含的地理位置是否真實,要打一個 Big Big 的問號了?

實際上,利用 Python 是可以非常方便地修改一張圖片的地理位置。

2.編寫代碼

在編寫腳本之前,需要在虛擬環境下安裝依賴庫:piexif

第一步,我們讀取原圖的經度和緯度,然后將地理位置格式化為浮點類型。

拿到 GPS 圖片坐標之后,需要轉為火星坐標系數據。

 

  1. def read_image(self, image_path): 
  2.     ""
  3.     開始處理圖片 
  4.     exifread:讀取圖片屬性 
  5.     :return
  6.     ""
  7.     exif_dict = piexif.load(image_path) 
  8.  
  9.     if exif_dict['GPS']: 
  10.  
  11.          # 緯度 
  12.          gps_lati_pre = exif_dict['GPS'][2] 
  13.  
  14.          gps_lati = dms_to_gps(gps_lati_pre) 
  15.  
  16.          # 經度 
  17.          gps_long_pre = exif_dict['GPS'][4] 
  18.          gps_long = dms_to_gps(gps_long_pre) 
  19.  
  20.          # GPS坐標轉為高德坐標 
  21.          lng, lat = wgs84togcj02(gps_long, gps_lati) 
  22.  
  23.          print(f"原圖地理位置如下\n經度:{lng}\n緯度:{lat}\n"
  24.  
  25.          return f'{lng}, {lat}' 
  26.     else
  27.          print(f'抱歉!這張圖片不包含地理位置!'

第二步,利用高德 Web 服務 API 中的 逆地理編碼 解析出原圖的詳細位置。

 

  1. def get_address_by_location(self, location): 
  2.     ""
  3.     通過經緯度拿到地理位置 
  4.     :param location: 
  5.     :return
  6.     ""
  7.     params = { 
  8.        'key': self.ak, 
  9.         'location': location, 
  10.         'sig': self.sign 
  11.     } 
  12.  
  13.     resp = json.loads(requests.get(url=self.url_regeo, params=params).text) 
  14.  
  15.     if resp and resp.get('regeocode'and resp.get('regeocode').get('formatted_address'): 
  16.          address = resp.get('regeocode').get('formatted_address'
  17.          print(f'原圖的拍攝地址為:{address}\n'
  18.     else
  19.          print('api解析地址出錯,請檢查ak!\n'

第三步,尋找一個要定位的地理位置。

首先,輸入目標城市和具體地址,利用高德 Web 服務 API 中的地理編碼拿到要定位的地理位置。

 

  1. def get_location_by_address(self, city, address): 
  2.     ""
  3.     通過地理位置到拿到經緯度 
  4.     地理編碼:https://lbs.amap.com/api/webservice/guide/api/georegeo/ 
  5.     :param address: 
  6.     :return
  7.     ""
  8.     params = { 
  9.             'key': self.ak, 
  10.             'city': city, 
  11.             'address': address, 
  12.             'sig': self.sign 
  13.     } 
  14.  
  15.     resp = json.loads(requests.get(url=self.url_geo, params=params).text) 
  16.  
  17.     # 獲取坐標地址 
  18.     if resp and len(resp.get('geocodes')) >= 1 and resp.get('geocodes')[0].get('location'): 
  19.          location = resp.get('geocodes')[0].get('location'
  20.          gps_data = location.split(','
  21.  
  22.          # 得到經度和緯度 
  23.          gps_long = float(gps_data[0]) 
  24.          gps_lati = float(gps_data[1]) 
  25.  
  26.          return gps_long, gps_lati 
  27.     else
  28.          print('api解析地址出錯,請檢查ak!'
  29.          return None 

第四步,修改圖片的地理位置。

由于 piexif 中經、緯度數據都是元組類型,因此需要將要設置的數據進行一次處理。

 

  1. def gps_to_dms(gps_data): 
  2.     ""
  3.     坐標轉為度、分、秒(double
  4.     116.397451 
  5.     http://www.gzhatu.com/du2dfm.html 
  6.     :param gps_data: 
  7.     :return:{1: b'N', 2: ((22, 1), (32, 1), (945, 100)), 3: b'E', 4: ((114, 1), (1, 1), (3445, 100)) 
  8.     ""
  9.     # 度:向下取整 
  10.     gps_degree = math.floor(gps_data) 
  11.  
  12.     gps_data_temp1 = (gps_data - gps_degree) * 60 
  13.  
  14.     # 分 
  15.     gps_minute = math.floor(gps_data_temp1) 
  16.  
  17.     gps_data_temp2 = gps_data_temp1 - gps_minute 
  18.  
  19.     # 秒,取小數點后4位 
  20.     gps_second = round(gps_data_temp2 * 60, 2) 
  21.  
  22.     # 注意:秒必須轉換為整形 
  23.     result = ((gps_degree, 1), (gps_minute, 1), (int(gps_second * 100), 100)) 
  24.  
  25.     return result 

最后,將正確格式的經緯度數據寫入到圖片中去。

 

  1. def write_image(self, image_path, gps_long, gps_lati): 
  2.     ""
  3.     修改文件夾下所有文件的屬性 
  4.     :param image_path: 文件夾路徑 
  5.     :return
  6.     ""
  7.     # 讀取圖片 
  8.     img = Image.open(image_path) 
  9.  
  10.     try: 
  11.         exif_dict = piexif.load(img.info['exif']) 
  12.     except
  13.         print('加載文件地理位置異常!'
  14.         return 
  15.  
  16.     # 修改地理位置 
  17.     # GPS GPSLatitudeRef:N 
  18.     # GPS GPSLatitude:[22, 32, 189/20] 
  19.     # GPS GPSLongitudeRef:E 
  20.     # GPS GPSLongitude:[114, 1, 689/20] 
  21.     exif_dict['GPS'][2] = gps_to_dms(gps_lati) 
  22.     exif_dict['GPS'][4] = gps_to_dms(gps_long) 
  23.  
  24.     exif_bytes = piexif.dump(exif_dict) 
  25.  
  26.     # 寫入到新的圖片中去 
  27.     img.save(image_path, 'jpeg', exif=exif_bytes) 

3.結果結論

通過上面的 4 步操作,能將任意地理位置寫入到圖片中。

 

 

 

 

除了地理位置,圖片的元數據,包含:拍攝器材、拍攝時間、拍攝參數都能進行二次修改。

責任編輯:華軒 來源: AirPython
相關推薦

2019-08-28 16:22:30

Python數據微信

2019-10-24 09:29:04

程序員程序員節女朋友

2019-09-24 11:36:51

Python支付寶數據

2019-08-12 10:27:34

前端程序員網絡

2019-07-09 09:19:51

分布式事務App

2022-09-17 08:10:20

HSV飽和度圖像

2021-04-06 06:23:18

MVCC并發事務

2021-05-19 11:02:44

PythonTurtle參數

2021-05-14 07:18:07

監控微信聊天

2020-01-02 09:14:23

Kubernetes內部容器

2022-01-02 07:02:48

硬盤保護文件GiliSoft Fi

2021-08-11 14:33:38

注解springAutowired

2014-08-21 08:59:44

2015-08-26 10:17:29

程序員女朋友

2019-05-28 19:05:02

Python女朋友機器人

2021-02-02 11:59:15

插件開發工具

2021-02-20 07:52:35

防猝死插件 IDEA

2020-04-21 11:45:04

技巧單一責任鏈開閉原則

2021-03-11 16:45:29

TCP程序C語言

2021-03-03 09:16:51

容器技術容器云計算
點贊
收藏

51CTO技術棧公眾號

91久久精品久久国产性色也91| 欧美性三三影院| 国产一区二区在线网站| 久久精品国产成人av| 欧美精品一区二区三区中文字幕| 欧美日本不卡视频| 欧美国产日韩激情| 国产精品一区二区三区四区色| 精品一区二区三区视频| 性色av一区二区三区红粉影视| www.自拍偷拍| 久久精品国产福利| 午夜欧美2019年伦理| 亚洲三区在线| 色呦呦中文字幕| 美女诱惑一区二区| 97视频在线观看免费| 神马久久精品综合| 国产精品日韩精品中文字幕| 日韩美女在线视频| 丰满少妇在线观看| 91福利区在线观看| 亚洲欧美视频在线观看视频| 日韩美女一区| 天天干在线观看| 蜜桃久久精品一区二区| 91av在线播放视频| 亚洲国产精品久| 91欧美在线| 国产一区二区三区精品久久久| 国产精品一区二区无码对白| 在线日韩三级| 在线观看亚洲a| 免费看又黄又无码的网站| 最爽无遮挡行房视频在线| 国产精品午夜免费| 欧美日韩三区四区| 天天操天天插天天射| 国产成人午夜片在线观看高清观看| 国产玖玖精品视频| 无码人妻精品一区二区三区9厂| 国产一区二区三区四区老人| 久久精品91久久久久久再现| 国产又粗又硬视频| 国产中文精品久高清在线不| 亚洲欧美日韩国产中文| 亚洲永久无码7777kkk| 999在线精品| 日韩精品最新网址| 亚洲国产欧美日韩在线| 国产高清视频一区二区| 欧美日韩精品电影| 国产原创精品在线| 四虎影视精品永久在线观看| 欧美日免费三级在线| 91热这里只有精品| www.久久.com| 欧美日韩国产首页| 天天干天天草天天| 996久久国产精品线观看| 欧美日本韩国一区| 手机av在线网站| 亚洲精品国产九九九| 日韩欧美精品在线| 国产视频精品视频| 乱亲女h秽乱长久久久| 亚洲黄页网在线观看| 欧美bbbbb性bbbbb视频| 综合亚洲自拍| 在线看片第一页欧美| 日韩欧美在线视频播放| 欧美+日本+国产+在线a∨观看| 久久99久久亚洲国产| 天天操天天射天天爽| 亚洲精一区二区三区| 日本精品免费一区二区三区| 中文字幕人妻色偷偷久久| 久久精品国产一区二区三| 亚洲伊人一本大道中文字幕| 国内爆初菊对白视频| 91免费国产视频网站| 先锋影音亚洲资源| www.欧美日本韩国| 精品美女国产在线| 九一精品在线观看| 亚洲一区二区三区中文字幕在线观看 | 欧美性色黄大片人与善| seseavlu视频在线| 亚洲一区二区精品久久av| 国产精品免费入口| 亚洲精品成a人ⅴ香蕉片| 日韩精品一区二区在线| 久久久久久亚洲中文字幕无码| 色乱码一区二区三区网站| 欧美激情视频在线免费观看 欧美视频免费一 | 日本黄色www| 米奇精品关键词| 色999日韩欧美国产| 精品亚洲永久免费| 男人的天堂久久精品| 999视频在线观看| 黄视频在线播放| 亚洲一区在线看| 午夜在线观看av| 成人资源在线播放| 色综久久综合桃花网| 黑人一级大毛片| 国产美女精品人人做人人爽| 欧美性xxxx69| 国产h片在线观看| 777奇米四色成人影色区| 国产亚洲色婷婷久久99精品91| 91综合网人人| 日本电影亚洲天堂| 欧美一级免费片| 亚洲欧美自拍偷拍| www.99在线| 三级精品视频| 久久久久国产精品一区| 一区二区 亚洲| 欧美国产日本视频| 鲁一鲁一鲁一鲁一澡| 日韩成人久久| x99av成人免费| 成人一二三四区| 91社区在线播放| 欧美乱大交xxxxx潮喷l头像| 精品视频91| 久久精品国产综合| 亚洲熟女乱色一区二区三区久久久| 99免费精品视频| 国产欧美日韩小视频| 欧美大片91| 久久综合久久八八| 91尤物国产福利在线观看| 欧美经典一区二区| 国产一级特黄a大片免费| 国产精品一区2区3区| 欧美一区二区.| 可以免费观看的毛片| 一区二区国产视频| 亚洲成人激情小说| 狠狠色狠狠色综合日日tαg| 亚洲直播在线一区| 在线观看三级视频| 日韩欧美的一区二区| 亚洲av鲁丝一区二区三区| 国产综合色产在线精品| 国产在线拍揄自揄拍无码| 国产一区二区久久久久| 久久午夜a级毛片| 国产富婆一级全黄大片| 一区二区三区**美女毛片| 香蕉视频在线观看黄| 狠狠入ady亚洲精品经典电影| 国产成人女人毛片视频在线| heyzo在线| 日韩电影免费观看中文字幕 | 欧美在线观看你懂的| 免费看黄色三级| 麻豆成人91精品二区三区| 一区二区三区久久网| 亚洲精品一区二区在线播放∴| 中文字幕亚洲在线| 国产美女三级无套内谢| 玉米视频成人免费看| 精品一区二区三区四区五区六区| 影音先锋在线一区| 噜噜噜噜噜久久久久久91| 欧美精品高清| 久久久999精品| 俄罗斯嫩小性bbwbbw| 欧美日韩久久久久| 日韩视频在线观看免费视频| 精品午夜久久福利影院| 国产美女在线一区| 欧美一二区在线观看| 亚洲一区中文字幕在线观看| 免费高潮视频95在线观看网站| 伊人伊成久久人综合网小说| 国产日韩免费视频| 天天综合色天天| 青青草华人在线视频| 国产不卡视频一区二区三区| 欧美日韩在线视频一区二区三区| 国产精品国产一区| 激情小说综合网| 日韩护士脚交太爽了| 久久人人爽国产| 北岛玲日韩精品一区二区三区| 日韩一本二本av| 中文字幕免费观看| 亚洲亚洲人成综合网络| 国产黄色大片免费看| 懂色av一区二区三区免费观看| 国产免费视频传媒| 国产精品黄色| 在线观看免费91| 欧美亚洲大陆| 91精品国产91久久久久青草| 超碰一区二区| 色在人av网站天堂精品| 国产高清一区在线观看| 欧美精品一区二| 国产精品高潮呻吟av| 日韩欧美中文在线| 久久久久久久久久99| 国产精品久久久久久福利一牛影视| a天堂视频在线观看| 久久国产尿小便嘘嘘| 麻豆av免费在线| 一区二区亚洲精品| 美国av在线播放| 国产一区二区三区四区大秀| 精品免费一区二区三区蜜桃| 欧美影院精品| 成人国内精品久久久久一区| 欧美gay视频| 午夜精品视频网站| 手机在线免费观看av| 久久精品成人欧美大片古装| 成人在线免费观看| 国产婷婷97碰碰久久人人蜜臀| 黄色av一区二区三区| 欧美一区二区三区爱爱| 一区二区视频在线免费观看| 日本韩国欧美一区二区三区| 亚洲精品1区2区3区| 亚洲一区二区综合| 强行糟蹋人妻hd中文| 亚洲日本在线视频观看| 小早川怜子一区二区的演员表| 日本一区二区免费在线观看视频| 欧美图片第一页| 久久久久亚洲综合| 特级西西人体wwwww| 99久久久精品| 私密视频在线观看| 91丨九色丨尤物| 国产国语性生话播放| 99re在线视频这里只有精品| 国产视频久久久久久| va亚洲va日韩不卡在线观看| 亚洲美女在线播放| 成人avav在线| 亚洲男人在线天堂| www激情久久| 一本色道久久综合亚洲精品图片| 91免费观看视频| 亚洲一区二区三区蜜桃| 国产日韩欧美高清在线| 秋霞网一区二区三区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 欧美俄罗斯性视频| av中文在线资源库| 欧美性受xxxx黑人猛交| 免费欧美电影| 国产在线久久久| 免费观看性欧美大片无片| 高清国产在线一区| 欧美一级全黄| 日韩影片在线播放| 全球成人免费直播| 日韩视频一二三| 在线日韩中文| 欧美 日韩 国产一区| 美女国产一区二区| 又黄又爽又色的视频| 成人sese在线| 加勒比综合在线| 亚洲欧美综合色| 精品91久久久| 91黄色免费看| 国产高潮在线观看| 亚洲欧美综合v| 国产激情在线视频| 国模精品一区二区三区色天香| 91精品论坛| 91欧美精品午夜性色福利在线| 一区二区三区免费在线看| 乱一区二区三区在线播放| 欧美一区二区三| 欧美 亚洲 视频| 狂野欧美性猛交xxxx巴西| 男人的天堂最新网址| 成人精品视频一区二区三区尤物| 中文人妻一区二区三区| 国产精品福利一区二区| 免费又黄又爽又色的视频| 欧美性色xo影院| 99热这里只有精品5| 日韩av网站大全| 好了av在线| 4438全国成人免费| 日本精品视频| 日韩在线导航| 亚洲激情网址| 最新国产黄色网址| 久久久久国产一区二区三区四区| 91视频免费在线看| 欧美日韩精品一区二区天天拍小说| 四虎在线视频免费观看| 久久久精品久久久久| 国产亚洲一区二区手机在线观看| 成人一区二区三区四区| 91麻豆精品国产91久久久平台| av网站在线观看不卡| 国产成人午夜视频| 国产真实乱在线更新| 在线看不卡av| 四虎影视在线观看2413| 日韩一区二区三区国产| 天天免费亚洲黑人免费| 成人永久免费| 欧美激情成人在线| www.国产视频.com| 国产精品入口麻豆九色| 91在线视频免费播放| 亚洲精品wwwww| 金瓶狂野欧美性猛交xxxx | 国产乱色精品成人免费视频| 亚洲视频视频在线| 日本在线高清| 精品欧美国产| 国产精品久久久免费| 欧美久久久久久久久久久| 亚洲人成网站精品片在线观看| 一二三四区在线| 日韩综合视频在线观看| 成人国产精品| 日韩一本精品| 日韩高清不卡在线| 永久免费av无码网站性色av| 色呦呦国产精品| 免费一级在线观看播放网址| 91产国在线观看动作片喷水| 国产色噜噜噜91在线精品| 黄色激情在线视频| 成人av免费观看| 日本一本高清视频| 日韩av中文在线| 中文字幕成在线观看| 欧美精品成人一区二区在线观看| 国产伦理一区| 一卡二卡三卡四卡| 一本色道久久综合亚洲精品按摩| 美女做暖暖视频免费在线观看全部网址91 | 亚洲综合av一区二区三区| 色综合电影网| 久久er精品视频| 老湿机69福利| 精品美女一区二区三区| 国产网红在线观看| 极品日韩久久| 日韩福利视频导航| 成人信息集中地| 欧美一级在线观看| 丁香影院在线| 久久国产精品免费一区| 日韩高清电影一区| 久久精品亚洲a| 欧美videofree性高清杂交| av资源网在线播放| 欧洲一区二区日韩在线视频观看免费 | 国产丰满美女做爰| 91av免费观看91av精品在线| 国产一区二区三区站长工具| 男人的天堂最新网址| 亚洲一区二区三区小说| 欧美一区二区视频| 国产女同一区二区| 欧美日韩一区二区三区四区在线观看| 国产午夜在线一区二区三区| 在线亚洲高清视频| 米奇777四色精品人人爽| 99爱精品视频| 久久永久免费| 亚洲国产精品久| 亚洲开心激情网| 91精品视频一区二区| 秋霞无码一区二区| 国产精品久久99| 天堂中文在线看| 91精品综合久久久久久五月天| 黄色综合网站| 自拍偷拍你懂的| 精品国产99国产精品| 91精品国产66| av在线观看地址| 亚洲国产精品传媒在线观看| 亚洲精品一区二区三区区别| 国产精品久久久久久久久久免费 | 国产91|九色| 天天影视综合| 精品无码人妻一区| 日韩一区二区三区免费看 | 91高清免费观看| 亚洲人成网在线播放| 国产精品18hdxxxⅹ在线| 91插插插插插插插插|