美文网首页
元道经纬相机照片文字提取2023-07-27

元道经纬相机照片文字提取2023-07-27

作者: 手握镰刀和锤子的打工人 | 来源:发表于2023-07-26 19:58 被阅读0次
import os
import base64
import urllib
import requests
import re
import pandas as pd

# 百度图片识别API,填入自己申请的API_KEY和SECRET_KEY
API_KEY = "XXXXXXXXX"
SECRET_KEY = "XXXXXXXXX"

def extract_word(path):
        
    url = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate?access_token=" + get_access_token()
    
    image = get_file_content_as_base64(path, urlencoded=True)
    
    payload = 'image=' + image
    
    headers = {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Accept': 'application/json'
    }
    
    response = requests.request("POST", url, headers=headers, data=payload)
    
    return(response)

def get_file_content_as_base64(path, urlencoded=False):
    """
    获取文件base64编码
    :param path: 文件路径
    :param urlencoded: 是否对结果进行urlencoded 
    :return: base64编码信息
    """
    with open(path, "rb") as f:
        content = base64.b64encode(f.read()).decode("utf8")
        if urlencoded:
            content = urllib.parse.quote_plus(content)
    return content

def get_access_token():
    """
    使用 AK,SK 生成鉴权签名(Access Token)
    :return: access_token,或是None(如果错误)
    """
    url = "https://aip.baidubce.com/oauth/2.0/token"
    params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}
    return str(requests.post(url, params=params).json().get("access_token"))


def transform_word(response):
    
    for item in response["words_result"]:
        item.pop("location", None)

    data = response["words_result"]
    
    
    result_data = {}
    current_key = None

    for item in data:
        words = item['words']
        for key_start in ('经度', '纬度', '地址', '时间', '海拔', '天气', '备注'):
            if words.startswith(key_start):
                current_key = key_start
                result_data[current_key] = words[len(current_key)+1:]  # Extract the value after the key and colon
                break
        else:
            if current_key is not None:
                result_data[current_key] += words

    df = pd.DataFrame([result_data])

    return(df)

def get_file_extension(file_path):
    _, file_extension = os.path.splitext(file_path)
    return file_extension.lower()


if __name__ == '__main__':
    
    image_extensions = ['.jpg', '.jpeg', '.png', '.gif', '.bmp']
    
    # 遍历文件夹中所有文件
    folder_path = os.path.dirname(os.path.abspath(__file__))

    info_pic = pd.DataFrame() 

    for root, _, files in os.walk(folder_path):
        for file in files:
            file_path = os.path.join(root, file)
            
            extension = get_file_extension(file_path)
            
            if extension in image_extensions:
                try:
                    print('正在提取' + file_path + '...')
                    res = extract_word(file_path).json()
                    info_pic_temp = transform_word(res)

                    if info_pic_temp.shape[1] > 2:
                        info_pic_temp.insert(0, '文件路径', file_path)
                        info_pic = info_pic.append(info_pic_temp, ignore_index=True)

                except Exception as e:
                    pass

    info_pic.to_csv('picture_information.csv', index=False, encoding='utf_8_sig')

    print('提取完成')

相关文章

  • 什么软件可以提取文字

    文字提取软件是通过一个软件把文字提取出来的,使用手机简单的拍几张文字照片,然后使用文字提取工具把文字提取出来,下面...

  • 提取照片的经纬度信息

       前几天,一位朋友说,通过一张图片可以定位到你的位置且泄露个人信息,在此之前,我没了解过,对此很吃惊,于是这...

  • 黑白片

    加了文字的照片,增了几分趣味。好好玩的黄油相机。

  • 你怎么对待你的人生

    举个例子,你有两个相机,一个相机1000元,里边存储了你一生的精彩照片,一个相机是顶级配置价值200万元...

  • 经纬度相机

    拍照片、拍视频,都能加水印。 水印上自带真实时间地点,防篡改! 好用的工作拍照App,各行业工作者的共同选择。 【...

  • 如何从照片中提取文字

    从照片中提取文字,虽然WPS等一些软件,都有近似的功能,但是要开通付费会员。而这个功能不一定常用,可能只用一次两次...

  • 摄影:云裳之海,山的脊梁【2】

    刚刚发现,最近使用的多数照片不是相机留下的,翻了两张相机作品,分享徒步的心情吧..... 此刻,我想,少些文字注释...

  • 手机,相机拍照片赚钱啦,题材不限,大量要人喽

    有相机更好啦,没有相机的话手机也可以,价格10—80元一张,视照片质量而定,审核通过后立马结算!拍摄题材不限,感兴...

  • 点滴APP

    『点滴』是一个可以给照片添加描述信息的相机应用,特点在于你所写的照片描述信息是直接存储在照片元数据本身,而不是印在...

  • 《经纬天地》:“仁道”终将战胜“诈道”

    《经纬天地》:“仁道”终将战胜“诈道” @笑独行[编评] 【电视剧集《经纬天地》(2010,49)简要评论】 周大...

网友评论

      本文标题:元道经纬相机照片文字提取2023-07-27

      本文链接:https://www.haomeiwen.com/subject/jhnkpdtx.html