Add codeformer and update license
This commit is contained in:
45
basicsr/metrics/metric_util.py
Normal file
45
basicsr/metrics/metric_util.py
Normal file
@@ -0,0 +1,45 @@
|
||||
import numpy as np
|
||||
|
||||
from basicsr.utils.matlab_functions import bgr2ycbcr
|
||||
|
||||
|
||||
def reorder_image(img, input_order='HWC'):
|
||||
"""Reorder images to 'HWC' order.
|
||||
|
||||
If the input_order is (h, w), return (h, w, 1);
|
||||
If the input_order is (c, h, w), return (h, w, c);
|
||||
If the input_order is (h, w, c), return as it is.
|
||||
|
||||
Args:
|
||||
img (ndarray): Input image.
|
||||
input_order (str): Whether the input order is 'HWC' or 'CHW'.
|
||||
If the input image shape is (h, w), input_order will not have
|
||||
effects. Default: 'HWC'.
|
||||
|
||||
Returns:
|
||||
ndarray: reordered image.
|
||||
"""
|
||||
|
||||
if input_order not in ['HWC', 'CHW']:
|
||||
raise ValueError(f'Wrong input_order {input_order}. Supported input_orders are ' "'HWC' and 'CHW'")
|
||||
if len(img.shape) == 2:
|
||||
img = img[..., None]
|
||||
if input_order == 'CHW':
|
||||
img = img.transpose(1, 2, 0)
|
||||
return img
|
||||
|
||||
|
||||
def to_y_channel(img):
|
||||
"""Change to Y channel of YCbCr.
|
||||
|
||||
Args:
|
||||
img (ndarray): Images with range [0, 255].
|
||||
|
||||
Returns:
|
||||
(ndarray): Images with range [0, 255] (float type) without round.
|
||||
"""
|
||||
img = img.astype(np.float32) / 255.
|
||||
if img.ndim == 3 and img.shape[2] == 3:
|
||||
img = bgr2ycbcr(img, y_only=True)
|
||||
img = img[..., None]
|
||||
return img * 255.
|
||||
Reference in New Issue
Block a user