Python循环读取文件夹图片并进行上采样处理

学习记录

--------------------------------------------------

Python循环读取文件夹图片并进行上采样处理

高斯上采样/下采样

# -*- coding: utf-8 -*-
import cv2
import os

img = cv2.imread('D:/小图/10.png')
print(img)
print("-----------开始上采样,一次扩大2倍")    #
print("原始图像尺寸--------------------", img.shape)
cv2.imshow('img', img)
for i in range(2):
          img = cv2.pyrUp(img)   # pyrUp()期望大小是输入图像的两倍
          #imgUp = cv2.pyrDown(img)
          print("上采样", (i+1)*2, "倍 图像尺寸-----------", img.shape)    #
cv2.imshow('imgUp', img)
print("---------上采样结束")

cv2.imwrite('D:/小图/10-1.png', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

循环读取文件夹中图片并进行上采样

#***********循环文件*****************************

import os
import cv2
import numpy as np

def upscale_image(input_path, output_path):
    # 创建输出文件夹
    os.makedirs(output_path, exist_ok=True)

    # 获取输入文件夹中的所有图像文件
    input_files = [f for f in os.listdir(input_path) if f.endswith(('.png', '.jpg', '.jpeg'))]

    for input_file in input_files:
        # 构建输入文件的完整路径
        input_file_path = os.path.join(input_path, input_file)

        # 读取图像
        image = cv2.imread(input_file_path)

        for i in range(4):
            image = cv2.pyrUp(image)  # pyrUp()期望大小是输入图像的两倍
            # imgUp = cv2.pyrDown(img)
            print("上采样", (i + 1) * 2, "倍 图像尺寸-----------", image.shape)  #

        # 构建输出文件的完整路径
        output_file_path = os.path.join(output_path, f"{input_file}")

        # 保存上采样后的图像
        cv2.imwrite(output_file_path, image)

if __name__ == "__main__":
    # 输入文件夹路径(包含图像文件)
    input_folder = 'D:/SegmentationClass1'

    # 输出文件夹路径(保存上采样后的图像)
    output_folder = 'D:/SegmentationClass'

    # # 上采样倍数
    # scale_factor = 8

    upscale_image(input_folder, output_folder)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值