程序出现错误,无法生成图片,基本是由于路径错误,无法读取出来。
路径读取函数具体解释可参考以下博客:
(167条消息) Python 使用sort(key=lambda)按顺序读取指定文件夹下的文件_qq_茹的博客-CSDN博客
可以生成图片,但是生成的图片空白,可能是由于图片的数据出现问题,需要进行处理。
具体问题和解决方法可参考以下博客:
(167条消息) matplotlib 使用plt.imshow()打开图像为空白的问题_plt.show()一片空白_yyhhlancelot的博客-CSDN博客
以下是从两个不同路径读取图片并进行融合的代码示例。
path1=r'/mnt/hgfs/Share/SF_Result/a=5_d=2.6/Ne/'
path2=r'/mnt/hgfs/Share/SF_Result/a=5_d=2.6/Np/'
filelist1=os.listdir(path1) #os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表
filelist2=os.listdir(path2)
filelist1.sort(key=lambda x:(x[3:-4])) #将‘.png’左边的字符转换成整数型进行排序
filelist2.sort(key=lambda x:(x[3:-4]))
# print(filelist1)
for k in range(63):
# print(filelist2[k])
img1 = cv2.imread(path1 + filelist1[k])
img2 = cv2.imread(path2 + filelist2[k])
# combine = cv2.add(img1, img2)
combine = cv2.addWeighted(cv2.resize(img1,(800,1000)),0.5,cv2.resize(img2,(800,1000)),0.5,0)#图像加法,但是对图像赋予不同的权重(0到1之间),使得它具有混合感或透明感。
combine = combine.astype(np.int32)
plt.imshow(combine)
# combine = cv2.add(img1,img2)
# plot_normalizer = Normalize(vmin=0.0, vmax=1.0, clip=True)
# cv2.imshow(combine,norm = plot_normalizer)
# cv2.waitkey(0)
plt.savefig('/mnt/hgfs/Share/SF_Result/a=5_d=2.6/N_blend/N{}'.format(k))