超分辨读取图像文件夹并制作lmdb格式数据集

 为什么要把图像集转换成一个大文件再读取?

简单来说,是因为读写小文件的速度太慢。那么, 不禁要问,图像数据也是二进制文件,单个大的二进制文件例如LMDB文件也是二进制文件,为什么单个图像读写速度就慢了呢?这里分两种情况解释。

机械硬盘的情况:机械硬盘的每次读写启动时间比较场,例如磁头的寻道时间占比很高,因此,如果单个小文件读写,尤其是随机读写单个小文件的时候,这个寻道时间占比就会很高,最后导致大量读写小文件的时候时间会很浪费;

NFS的情况:在NFS的场景下,系统的一次读写首先要进行上百次的网络通讯,并且这个通讯次数和文件的大小无关。因此,如果是读写小文件,这个网络通讯时间占据了整个读写时间的大部分。

原文链接:https://blog.csdn.net/weixin_39619635/article/details/111555364

根据这个情况,对于超分辨算法而言,需要高分辨-低分辨配对的数据集,图像为低分辨率图像,标签为低分辨率图像对应的高分辨图像。也就是以下的程序其实是实现图像配对的数据集制作

import os
import lmdb
def tolmdb(lr_path,hr_path,size):
    i = int(1)
    for file1 in os.listdir(lr_path):
        if file1.endswith('.png'): # 只处理.png文件,可以根据实际情况修改
            new1 = file1[0:4]  # 截取文件名的前12个字符
            new2 = file1[6:] # 删去命名中的X
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值