rescale 조정하여 output.png 파일로 저장

import cv2

rescale = 6

def resize_image(input_path, output_path, scale_factor=rescale):
    image = cv2.imread(input_path)
    height, width = image.shape[:2]
    new_width = int(width * scale_factor)
    new_height = int(height * scale_factor)
    resized_image = cv2.resize(image, (new_width, new_height))
    cv2.imwrite(output_path, resized_image)

# 입력 파일 경로
input_file_path = "input.png"

# 출력 파일 경로
output_file_path = "output.png"

# 이미지 크기를 n배로 저장
resize_image(input_file_path, output_file_path, scale_factor=rescale)

'Python > Image Super Resolution' 카테고리의 다른 글

image MSE, RMSE, PSNR 계산  (0) 2024.03.29

Quality = 80 %
Quality = 100 %

 

# ===== 방법-1 =====

import cv2
img1 = cv2.imread('input.jpg')
img2 = cv2.imread('input_80p.jpg')
psnr = cv2.PSNR(img1, img2)
print(f"PSNR: {psnr}")


#%%
# ===== 방법-2 =====

import cv2
import numpy as np

def calculate_metrics(original_image_path, compressed_image_path):
    # 원본 이미지와 압축된 이미지 불러오기
    original_image = cv2.imread(original_image_path)
    compressed_image = cv2.imread(compressed_image_path)
    
    # 이미지가 같은 크기인지 확인
    if original_image.shape != compressed_image.shape:
        print("이미지 크기가 다릅니다.")
        return
    
    # MSE 계산
    mse = np.mean((original_image - compressed_image) ** 2)
    
    # RMSE 계산
    rmse = np.sqrt(mse)
    
    # PSNR 계산
    max_pixel_value = 255.0
    psnr = 20 * np.log10(max_pixel_value / rmse)
    
    return mse, rmse, psnr

# 원본 이미지 경로와 압축된 이미지 경로 설정
original_image_path = "input.jpg"
compressed_image_path = "input_80p.jpg"

# 이미지 품질 측정 메트릭 계산
mse, rmse, psnr = calculate_metrics(original_image_path, compressed_image_path)

# 결과 출력
print("")
print(f"MSE: {mse}")
print(f"RMSE: {rmse}")
print(f"PSNR: {psnr}")
print("")

'Python > Image Super Resolution' 카테고리의 다른 글

이미지 파일을 n배로 저장하는 방법  (0) 2024.03.30

to Top