当前位置:   article > 正文

python利用百度AI进行图片识别与分类_ai图像识别代码

ai图像识别代码

python利用百度AI进行图片识别与分类

声明

此博客纯属记录我学习的过程,是本人的一次大作业,如果程序中有问题或者有更好的实现方法希望各位前辈多多指点

背景

大多数人的相册都是乱七八糟的,动物的照片,人的照片,汽车的照片等等都参杂在一起。而人们平时没有多少时间去一个个的整理到相应的文件夹里。那么我们是否可以通过一个程序来将他们分类整理呢。在这里插入图片描述

导入所需库

from aip import AipImageClassify
from PIL import Image,ImageDraw,ImageFont
import os
import shutil
import os.path as op
import time

代码如下

from aip import AipImageClassify
from PIL import Image,ImageDraw,ImageFont
import os
import shutil
import os.path as op
import time
"" 你的 APPID AK SK """
APP_ID = '*******'
API_KEY = '*******'
SECRET_KEY = '*******'
client = AipImageClassify(APP_ID, API_KEY, SECRET_KEY)

""" 显示所有图片 """
sywj=os.listdir(os.getcwd())    # 所有文件来自于当前文档
print('当前文件夹下共有',len(sywj),'个文件:',sywj)
d=input('输入文件路径:')
path=ad

filenames = os.listdir(path)
print('\n图片文件包括:')
for filename in filenames:
    print(filename)

""" 读取图片 """
# while True:
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

for filename in filenames:
    image = get_file_content(path+'\\'+filename)# 打开要识别的图片


    """ 调用通用物体识别 """
    client.advancedGeneral(image);

    """ 如果有可选参数 """
    options = {}
    options["baike_num"] = 5

    """ 带参数调用通用物体识别 """
    d=client.advancedGeneral(image, options)
    # print(d)

    """ 检查结果 """
    dsg=d['result_num']# 几个识别结果
    # print(dsg)
    sc='\n识别结果'
    print(sc)

    for cf in range(dsg):
        identify=d['result'][cf]['keyword']
        probabilly=d['result'][cf]['score']
        print(identify,probabilly)
        i=d['result'][0]['keyword']
        img=Image.open(path+'\\'+filename)
        img.save(i+'.jpg')
    print('图片已保存')

while True:
    o='yes'
    p='no'
    z=input('是否要新建文件夹:')
    # print(z)
    if z == o:
        while True:
            xdwjj=input('\n请输入要新建的文件名:')
            if not os. path.exists(xdwjj):
                os.mkdir(xdwjj)
                print('文件夹',xdwjj,'已新建')
                break
            else:
                print('文件(夹)',xdwjj,'已存在,另换一个')

        #获取批量文件处理的总路径

        def MainPath():
            main_path =input("请手动查阅文件夹的路径:")
            return main_path
        def file_process(main_path):
            os.chdir("{0}".format(str(main_path)))           
            #将解释器的工作路径切换到要处理的文件夹的路径
            names = os.listdir("{0}".format(main_path))      
            #获取当前目录下所有要批量处理的文件名names
            myIn =input("你所要进行归类的关键字:")
            myDst = input("请输入你所要放置的目标文件夹路径:")
            
            for name in names:       #遍历所有的文件名
                if "{0}".format(myIn) in name :
                    myScr = op.join(main_path, name)          #将上一级路径与文件名组合,得到文件的路径,os.path.join(path,path)
                    shutil.move(myScr,myDst)                  #进行文件移动 原路径-- 目标路径
                    print("Done...")
        if __name__ == "__main__":
            file_process(main_path=MainPath())
    elif z == p:
        def MainPath():
            main_path =input("请手动查阅文件夹的路径:")
            return main_path
        def file_process(main_path):
            os.chdir("{0}".format(str(main_path)))           
            names = os.listdir("{0}".format(main_path))      
            myIn =input("你所要进行归类的关键字:")
            myDst = input("请输入你所要放置的目标文件夹路径:")
            for name in names:              #遍历所有的文件名
                if "{0}".format(myIn) in name :
                    myScr = op.join(main_path, name)          
                    shutil.move(myScr,myDst)                 
                    print("Done...")
        if __name__ == "__main__":
            file_process(main_path=MainPath())
    else:
        print('over')
        break
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113

参考 百度AI-图像技术-图像识别-通用物体和场景识别-SDK文档 -Python语言
https://ai.baidu.com/ai-doc/IMAGERECOGNITION/4k3bcxj1m
部分资料来自百度图库

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/836892
推荐阅读
相关标签
  

闽ICP备14008679号