CV_Project / models /spline_interpolation.py
R2454's picture
Update app.py and added models
2ff10e1
raw
history blame
861 Bytes
import cv2
import numpy as np
def spline_upscale(image, scale_factor=4):
"""
Upscale image using Bicubic spline interpolation
Args:
image: Input image (numpy array or file path)
scale_factor: Scaling multiplier (default=4)
Returns:
Upscaled image as numpy array (uint8)
"""
# Load image if path provided
if isinstance(image, str):
img = cv2.imread(image)
if img is None:
raise ValueError(f"Could not load image from {image}")
else:
img = image.copy()
# Get original dimensions
h, w = img.shape[:2]
# Calculate new dimensions
new_w = int(w * scale_factor)
new_h = int(h * scale_factor)
# Perform bicubic interpolation
upscaled = cv2.resize(img, (new_w, new_h), interpolation=cv2.INTER_CUBIC)
return upscaled