资源简介

Denoise Convolutional neural network基于python的代码实现。

资源截图

代码片段和文件信息

import argparse
import glob
from PIL import Image
import PIL
import random
from utils import *

# the pixel value range is ‘0-255‘(uint8 ) of training data

# macro
DATA_AUG_TIMES = 1  # transform a sample to a different sample for DATA_AUG_TIMES times

parser = argparse.ArgumentParser(description=‘‘)
parser.add_argument(‘--src_dir‘ dest=‘src_dir‘ default=‘./data/Train400‘ help=‘dir of data‘)
parser.add_argument(‘--save_dir‘ dest=‘save_dir‘ default=‘./data‘ help=‘dir of patches‘)
parser.add_argument(‘--patch_size‘ dest=‘pat_size‘ type=int default=40 help=‘patch size‘)
parser.add_argument(‘--stride‘ dest=‘stride‘ type=int default=10 help=‘stride‘)
parser.add_argument(‘--step‘ dest=‘step‘ type=int default=0 help=‘step‘)
parser.add_argument(‘--batch_size‘ dest=‘bat_size‘ type=int default=128 help=‘batch size‘)
# check output arguments
parser.add_argument(‘--from_file‘ dest=‘from_file‘ default=“./data/img_clean_pats.npy“ help=‘get pic from file‘)
parser.add_argument(‘--num_pic‘ dest=‘num_pic‘ type=int default=10 help=‘number of pic to pick‘)
args = parser.parse_args()


def generate_patches(isDebug=False):
    global DATA_AUG_TIMES
    count = 0
    filepaths = glob.glob(args.src_dir + ‘/*.png‘)
    if isDebug:
        filepaths = filepaths[:10]
    print(“number of training data %d“ % len(filepaths))
    
    scales = [1 0.9 0.8 0.7]
    
    # calculate the number of patches
    for i in range(len(filepaths)):
        img = Image.open(filepaths[i]).convert(‘L‘)  # convert RGB to gray
        for s in range(len(scales)):
            newsize = (int(img.size[0] * scales[s]) int(img.size[1] * scales[s]))
            img_s = img.resize(newsize resample=PIL.Image.BICUBIC)  # do not change the original img
            im_h im_w = img_s.size
            for x in range(0 + args.step (im_h - args.pat_size) args.stride):
                for y in range(0 + args.step (im_w - args.pat_size) args.stride):
                    count += 1
    origin_patch_num = count * DATA_AUG_TIMES
    
    if origin_patch_num % args.bat_size != 0:
        numPatches = (origin_patch_num / args.bat_size + 1) * args.bat_size
    else:
        numPatches = origin_patch_num
    print(“total patches = %d  batch size = %d total batches = %d“ % \
          (numPatches args.bat_size numPatches / args.bat_size))
    
    # data matrix 4-D
    inputs = np.zeros((numPatches args.pat_size args.pat_size 1) dtype=“uint8“)
    
    count = 0
    # generate patches
    for i in range(len(filepaths)):
        img = Image.open(filepaths[i]).convert(‘L‘)
        for s in range(len(scales)):
            newsize = (int(img.size[0] * scales[s]) int(img.size[1] * scales[s]))
            # print newsize
            img_s = img.resize(newsize resample=PIL.Image.BICUBIC)
            img_s = np.reshape(np.array(img_s dtype=“uint8“)
                               (img_s.size[0] img_s.size[1]

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-11-02 14:47  DnCNN\
     文件          67  2018-01-12 10:30  DnCNN\.gitignore
     目录           0  2018-11-02 14:48  DnCNN\.idea\
     文件         459  2018-11-02 14:38  DnCNN\.idea\DnCNN.iml
     目录           0  2018-11-02 14:37  DnCNN\.idea\inspectionProfiles\
     文件         228  2018-11-02 14:37  DnCNN\.idea\inspectionProfiles\profiles_settings.xml
     文件         219  2018-11-02 14:37  DnCNN\.idea\misc.xml
     文件         262  2018-11-02 14:37  DnCNN\.idea\modules.xml
     文件       19606  2018-11-02 14:48  DnCNN\.idea\workspace.xml
     文件         195  2018-01-12 10:30  DnCNN\CONTRIBUTING.md
     文件         186  2018-01-12 10:30  DnCNN\Dockerfile
     文件       35141  2018-01-12 10:30  DnCNN\LICENSE
     文件        3308  2018-01-12 10:30  DnCNN\README.md
     目录           0  2018-11-02 14:41  DnCNN\__pycache__\
     文件        6037  2018-11-02 14:41  DnCNN\__pycache__\model.cpython-36.pyc
     文件        2946  2018-11-02 14:41  DnCNN\__pycache__\utils.cpython-36.pyc
     目录           0  2018-11-02 14:49  DnCNN\checkpoint\
     目录           0  2018-11-02 14:37  DnCNN\checkpoint_demo\
     文件     6680852  2018-01-12 10:30  DnCNN\checkpoint_demo\DnCNN-tensorflow-67336.data-00000-of-00001
     文件        7095  2018-01-12 10:30  DnCNN\checkpoint_demo\DnCNN-tensorflow-67336.index
     文件     3924539  2018-01-12 10:30  DnCNN\checkpoint_demo\DnCNN-tensorflow-67336.meta
     文件         101  2018-01-12 10:30  DnCNN\checkpoint_demo\checkpoint
     目录           0  2018-11-02 14:37  DnCNN\data\
     目录           0  2018-11-02 14:37  DnCNN\data\Train400\
     文件       20790  2018-01-12 10:30  DnCNN\data\Train400\test_001.png
     文件       14758  2018-01-12 10:30  DnCNN\data\Train400\test_002.png
     文件       22658  2018-01-12 10:30  DnCNN\data\Train400\test_003.png
     文件       20250  2018-01-12 10:30  DnCNN\data\Train400\test_004.png
     文件       20048  2018-01-12 10:30  DnCNN\data\Train400\test_005.png
     文件       18456  2018-01-12 10:30  DnCNN\data\Train400\test_006.png
     文件       19182  2018-01-12 10:30  DnCNN\data\Train400\test_007.png
............此处省略422个文件信息

评论

共有 条评论