基本尝试
首先,编写函数,获取图片形状
from scipy.misc import imread, imsave
def get_shape(path):
pic = imread(path)
return tuple(pic.shape)
path = "D:/fusion_imgs/source/IR/1.png"
print(get_shape(path)) # (270, 360)
然后,对要比较的两张图片,进行对比
ir = "D:/fusion_imgs/source/IR/1.png"
vis = "D:/fusion_imgs/source/VIS/1.png"
if get_shape(ir) == get_shape(vis):
print("形状相同")
else:
print("形状不同")
输出:
形状相同
对两个文件夹中的图片比较
引入os进行图片名获取,glob进行路径获取
import os,glob
ir_dir = "D:/fusion_imgs/source/IR/"
vis_dir = "D:/fusion_imgs/source/VIS/"
ir_path = glob.glob(ir_dir+"*.png") # 获取目录下所有png文件
vis_path = glob.glob(vis_dir+"*.png")
for ir,vis in zip(ir_path,vis_path):
pic_name = os.path.basename(ir)
if get_shape(ir) == get_shape(vis):
print(pic_name,"形状相同")
else:
print(pic_name,"形状不同")
输出结果:
1.png 形状相同
10.png 形状相同
…
8.png 形状相同
9.png 形状相同
更具一般性的,改个名字,穿个马甲,跟上面的一样
def comp_shap(dir):
import os,glob
path1 = glob.glob(dir[0] +"*.png") # 获取目录下所有png文件
path2 = glob.glob(dir[1] +"*.png")
for p1,p2 in zip(path1,path2):
p = os.path.basename(p1)
if get_shape(p1) == get_shape(p2):
print(p,"形状相同")
else:
print(p,"形状不同")
dir = ["D:/fusion_imgs/source/IR/","D:/fusion_imgs/source/VIS/"]
comp_shap(dir)