# ===== 방법-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 |
---|