学习记录
--------------------------------------------------
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)