图片数据提取

  • 一、利用exifread提取图片的EXIF信息
  • 二、循环遍历图片信息

比如我随便从手机上传一张图片到我的电脑里,通过python可以获取这张照片的所有信息。如果是数码相机拍摄的照片,我们在属性里可以找到照片拍摄的时间,拍摄的经纬度,海拔高度。
那么这些信息有什么作用呢?
有很多功能…比如用户画像,客户信息标签设定等等,用户喜欢拍摄照片的季节,时间点,所使用的相机的参数指标可以反应出一个人的金钱状况,对于其拍摄的内容,我们可以通过AI的方式对照片的内容信息进行提取,从而判断一个人的兴趣爱好


一、利用exifread提取图片的EXIF信息

exifread介绍:

EXIF信息,是可交换图像文件的缩写,是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。EXIF可以附加于JPEGTIFFRIFF等文件之中,为其增加有关数码相机拍摄信息的内容和索引图或图像处理软件的版本信息。

首先要安装ExifRead

pip3 install ExifRead
pic=r'D:\S072003Python\input\test\test.jpg'import exifread
f = open(pic, 'rb')
tags = exifread.process_file(f)
print(tags) #内有相机型号,拍摄时间,经纬度等

tags


print(tags)和tags获取数据的格式不同。

tags['Image ImageWidth']
tags['Image ImageLength']
tags['Image ExifOffset']
tags['Image Orientation']
tags['Image DateTime']
tags['EXIF WhiteBalance']
tags['EXIF ISOSpeedRatings']
tags['EXIF FocalLength']
tags['EXIF Flash']
tags['EXIF LightSource']
exifcolumns=['Image ImageWidth','Image ImageLength','Image ExifOffset','Image Orientation','Image DateTime','EXIF WhiteBalance','EXIF ISOSpeedRatings','EXIF FocalLength','EXIF Flash','EXIF LightSource'] # 把要提取的数据都封装在列表当中
for i in range(len(exifcolumns)):print(tags[exifcolumns[i]]) # 使用循环拿到所有的数据

二、循环遍历图片信息

任务:一次性获得以下图片的"Image ImageWidth"信息。写一个循环即可:

import exifread
import os
import pandas as pd
import glob
pic_list=glob.glob(r'C:\Users\Lenovo\Pictures\Saved Pictures\*.jpg')  # 如果是png,jpeg,bmp等数据格式,如何设置?for i in pic_list:fr=open(i,'rb')tags=exifread.process_file(fr)if "Image ImageWidth" in tags:  # 条件判断,因为并不是所有的照片都有"Image ImageWidth"print(tags["Image ImageWidth"])
# 经纬度获取
import exifread
import os
import pandas as pd
import glob
pic_list=glob.glob(r'C:\Users\Lenovo\Pictures\Saved Pictures\*.jpg')  latlonlists=[]
for i in pic_list:fr=open(i,'rb')tags=exifread.process_file(fr)if "GPS GPSLatitude" in tags:  # 条件判断,因为并不是所有的照片都有"Image ImageWidth"# 维度转换lat_ref=tags["GPS GPSLatitudeRef"]lat=tags["GPS GPSLatitude"].printable[1:-1].replace(" ","").replace("/",",").split(",")lat=float(lat[0])+float(lat[1])/60+float(lat[2])/3600if lat_ref  in  ["N"]:    # 表示是南半球的数据lat=lat*(-1)# 经度转换lon_ref=tags["GPS GPSLongitudeRef"]lon=tags["GPS GPSLongitude"].printable[1:-1].replace("","").replace("/",",").split(",")lon=float(lon[0])+float(lon[1])/60+float(lon[2])/3600if lon_ref  in  ["E"]:    # 表示是西半球的数据lon=lon*(-1)print("维度:",lat,"经度:",lon)latlonlist=[lat,lon]latlonlists.append(latlonlist)

Python数据获取——图片数据提取相关推荐

  1. python将excel数据提取到word

    python将excel数据提取到word 工作中可能需要将excel中的数据批量生成word,今天分享将excel数据提取,然后生成word数据的方法. 先看要求,将当前目录下(定值回执统计表.xl ...

  2. 【Python】爬虫数据提取

    目录 一.xpath提取数据 二.爬虫爬取图片资源 三.爬虫爬取视频资源 四.FLV文件转码为MP4文件 一.xpath提取数据 <bookstore> <book category ...

  3. Python爬虫的数据提取,一篇博客就搞定啦!

    数据提取 目录 数据提取 XPath语法和lxml模块 XPath 什么是XPath XPath开发工具 XPath语法 选取节点: 谓语: 通配符 选取多个路径: 运算符: 总结 使用方式 需要注意 ...

  4. SwiftUI和Python一起从数据提取到App展示(做个世界国旗App)

    Python和SwiftUI原本没有一点关系,但是作为App开发老鸟我希望将Python这个当代神器介绍给使用SwiftUI的朋友么 本文要所点什么 需求非常简单,就是从一个文件中提取出世界各国的国旗 ...

  5. 使用python查看图片数据

    使用python查看图像数据 在学习图像分割前,发现对如何查看图像数据完全不熟悉,在查看了Fast.ai框架的源码后,本文记录了在图像数据为Tensor类型的情况下,显示图像数据的过程. 参考资料:f ...

  6. python 下 json 数据提取神器 jsonpath 详解

    一.什么是jsonpath JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript.Python.PHP 和 Java. 二.特点 ...

  7. python导入图片数据_Python中读取图片的6种方式

    Python进行图片处理,第一步就是读取图片,这里给大家整理了6种图片的读取方式,并将读取的图片装换成numpy.ndarray()格式.首先需要准备一张照片,假如你有女朋友的话,可以用女朋友的,没有 ...

  8. python爬虫科研数据提取_python爬虫数据提取四之pyquery

    1 pyquery 简介:同样是一个强大的网页解析工具 它提供了和jQuery类似的语法来解析HTML文档,支持CSS选择器,使用非常方便 2 pyquery基本用法 2.1 安装 pip insta ...

  9. python实现图片文字提取,准确率高达99%,强无敌!!!

    上次我使用的百度AI开放平台的API接口实现图片的转化,后来有许多小伙伴都私信问我,怎么获取百度AI平台的AK和SK.为了统一回答大家的问题,今天我又使用百度API实现了一个从图片中提取文字和识别身份 ...

  10. python实现图片文字提取,有疑问未解决

    在某个微信公众号中偶然看到一个初级python实验:使用python识别并提取图像中的文字,并着手去尝试. 首先下载安装一个开源工具,Tesseract-OCR,在网上下载,我下载的是这个版本:tes ...

最新文章

  1. Scrum看板工具Leangoo记录我的装修事件,hhhh
  2. 解决 OCFS2 不能自动挂载 提示 o2net_connect_expired
  3. 【算法基础】数据结构导论第三章-栈、队列和数组.pptx
  4. 马哥-51CTO-Linux培训-0910-程序包管理
  5. An RFC destination could not be specified for the logical system QI3CLNT504
  6. com.jhlabs:imaging:jar:01012005 所在仓库+captcha验证码maven依赖
  7. 互联网日报 | TikTok将开启Pre-IPO融资;菜鸟裹裹战略再升级;滴滴中国西区总部落户重庆江北...
  8. 小顶堆数据结构C/C++代码实现
  9. 哇!Flash影片剪辑导出静止的问题被解决了!
  10. Vue中computed分析
  11. aptx android8,秒杀苹果无线音频!Android 8.0蓝牙音质支持aptxHD/LDAC
  12. 《ggplot2:数据分析与图形艺术》,读书笔记
  13. sql server 查询某个表被哪些存储过程调用
  14. Chrome浏览器历史版本下载
  15. 【eoeAndroid社区索引】android数据存储之SQLite教程实例汇总
  16. 市政管理学(试题及答案)汇总
  17. 【活动】为中秋献上祝福
  18. Scrapy报错之:Request object has no attribute dont_filter
  19. Vuejs---《Vue.js + Node.js-构建音乐播放器新玩法-video》
  20. php微信公众号报警,微信报警函数定义与用法汇总

热门文章

  1. 雷军和董明珠的赌局真的输了吗?其实我们都想错了
  2. Mysql比较运算符实战
  3. Sql学习04(11.23-11.24)
  4. windows server 2008r2更新server pack 1补丁包和勒索病毒nsa,永恒之蓝 补丁包
  5. 计算机本科生论文都抽查什么,本科生毕业论文抽查,抄袭马上会被撤销学位,学生最好别违规...
  6. oel+oracle,OEL7.6安装Oracle Database 19C(VERSION 19.3.0.0)
  7. 可区分英文字母:lL、iI、0Oo的系统字体
  8. Win10 Edge浏览器假死解决方案
  9. springboot异步调用demo
  10. STM32F446高性能MCU芯片介绍