python文件操作与图片处理
Posted 彭祥.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python文件操作与图片处理相关的知识,希望对你有一定的参考价值。
今天师哥给了博主一组图片进行评估,师哥给的算法中,给出了读取一张图片的方法,交给我的任务便是读取1500张,并将结果保存到每个文件夹的相应的txt中。
分析:首先需要将所有文件进行读取
basepath="E:/app/jian/" #根目录
for i in range(0,10):
dictory = "000" #按照顺序来获取文件路径
dictory += str(i)
每张图片里面有1-6张不等图片
因此我们在遍历时要给定每个文件夹读取jpeg文件的次数,防止出越界问题
统计每个文件夹下某种文件类型的数量
def countjpg(path):
import glob
path_file_number = glob.glob(path+'*.jpeg') # 获取当前文件夹下个数
return (len(path_file_number))
此外,在运行过程中,一旦出现错误,我们需要将每个文件夹中写入的txt文件全部删除:
def deletetxt():
import os
path = "E:/app/nei/" + dictory + "/" + dictory + ".txt"
os.remove(path)
最终我们的循环遍历函数
def circulation():
basepath="E:/app/jian/"
for i in range(0,10):
dictory = "000"
dictory += str(i)
countpath=basepath + dictory +"/"
count=countjpg(countpath)+1
path = basepath + dictory + "/" + dictory + ".txt"
with open(path, "a") as f:
f.write("间方法三Hausdoff" + "\\r")
for j in range(1, count):
imgname = "image-0"
imgname += str(j)
path1=basepath+dictory+"/"+dictory+".jpg"
path2 = basepath + dictory + "/" + imgname + ".jpeg"
#zuidasiran2(path1,path2,path)
#RMSE(path1,path2,path)
Hausdoff(path1,path2,path)
此外,需要对所有的jpg图片按照像素进行剪切
im = Image.open(path1)
resized_image = im.resize((128, 128), Image.ANTIALIAS)
resized_image.save(path1)
并作灰度处理
img = cv2.imread(path1) #读取图片
img1 = cv2.imread(path2)
dst = color.rgb2gray(img) #灰度处理
dst1=color.rgb2gray(img1)
以上是关于python文件操作与图片处理的主要内容,如果未能解决你的问题,请参考以下文章
网站图片挂马检测及PHP与python的图片文件恶意代码检测对比
你如何在 python 中处理 graphql 查询和片段?
Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段