飞道的博客

Python图像识别实战(三):基于OpenCV实现批量单图像超分辨重建(附源码和实现效果)

284人阅读  评论(0)

前面我介绍了可视化的一些方法以及机器学习在预测方面的应用,分为分类问题(预测值是离散型)和回归问题(预测值是连续型)(具体见之前的文章)。

从本期开始,我将做一个关于图像识别的系列文章,让读者慢慢理解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订阅号:数据杂坛可在后台联系我获取相关数据集和源码,送有关数据分析、数据挖掘、机器学习、深度学习相关的电子书籍。
 


转载:https://blog.csdn.net/sinat_41858359/article/details/128375187
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场