前面我介绍了可视化的一些方法以及机器学习在预测方面的应用,分为分类问题(预测值是离散型)和回归问题(预测值是连续型)(具体见之前的文章)。
从本期开始,我将做一个关于图像识别的系列文章,让读者慢慢理解python进行图像识别的过程、原理和方法,每一篇文章从实现功能、实现代码、实现效果三个方面进行展示。
实现功能:
基于OpenCV实现单图像超分辨重建。
实现代码:
import cv2 import numpy as np from cv2 import dnn_superres import time import os, random, shutil from PIL import Image #=============从文件夹中按数量随机选取一定数量图片移动到另一个文件夹================== def Superresolution(fileDir,tarDir): pathDir = os.listdir(fileDir) print(pathDir) del pathDir[0:4] print(pathDir) for i in pathDir: filepath=fileDir+'\\'+i print(filepath) filepathDir=os.listdir(filepath) print(filepathDir) for a in filepathDir: print(a) print(filepath+'\\'+a) # 创建SR对象... sr = dnn_superres.DnnSuperResImpl_create() # 读图 input = cv2.imread(filepath+'\\'+a) # 读取模型 sr.readModel("D:\DCTDV2\model\EDSR_x4.pb") # 设定算法和放大比例 sr.setModel("edsr", 4) # 将图片加载入模型处理,获得超清晰度图片 print("处理图片中...\n") t0 = time.perf_counter() upScalePic = sr.upsample(input) print("处理图片完成\n") print(time.perf_counter() - t0) # 输出 tarpath = tarDir+'\\'+i print(tarpath) if not os.path.exists(tarpath): # 判断文件夹是否已经存在 os.makedirs(tarpath) print(tarpath) cv2.imwrite(tarpath+'\\'+a, upScalePic) print("输出图片完成\n") return if __name__ == '__main__': fileDir ="D:\DCTDV2\dataset\\train" #源图片文件夹路径 tarDir="D:\DCTDV2\dataset\\trainSR" Superresolution(fileDir,tarDir)
实现效果:
由于数据为非公开数据,仅展示几个图像的效果,有问题可以后台联系我。
本人读研期间发表5篇SCI数据挖掘相关论文,现在在某研究院从事数据挖掘相关工作,对数据挖掘有一定的认知和理解,会不定期分享一些关于python机器学习、深度学习、数据挖掘基础知识与案例。
致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。
关注V订阅号:数据杂坛可在后台联系我获取相关数据集和源码,送有关数据分析、数据挖掘、机器学习、深度学习相关的电子书籍。