[BUG]cvcuda.resize not support cvcuda.Interp.LANCZOS
Describe the bug we use cvcuda to resize imgs, but found resize param not support cvcuda.Interp.LANCZOS
Steps/Code to reproduce bug def clip_img2_tensor(self, imgs): center_croped_tensor_hwc_list = [] for frame in imgs: h = frame.height w = frame.width ratio = float(256.0) / min(w, h) w_resize, h_resize = int(w * ratio), int(h * ratio) frame_tensor_hwc = cvcuda.as_tensor(frame,"HWC") resized_frame_tensor_hwc = cvcuda.resize(frame_tensor_hwc,(h_resize, w_resize, 3), cvcuda.Interp.LANCZOS) # center_croped_tensor_hwc = cvcuda.center_crop(resized_frame_tensor_hwc, (224, 224)) center_croped_tensor_hwc_list.append(resized_frame_tensor_hwc) stack_center_croped_tensor_hwc = cvcuda.stack(center_croped_tensor_hwc_list) nvcvConvertTensor = cvcuda.convertto(stack_center_croped_tensor_hwc, np.float32, scale=1 / 255)
mean_tensor = nvcv.as_tensor(self.scaleTensor, "NHWC")
std_tensor = nvcv.as_tensor(self.stdTensor, "NHWC")
nvcvNormTensor = cvcuda.normalize(nvcvConvertTensor, mean_tensor, std_tensor, cvcuda.NormalizeFlags.SCALE_IS_STDDEV)
nvcvPreprocessedTensor = cvcuda.reformat(nvcvNormTensor, "NCHW")
torch_preprocessed_tensor = torch.as_tensor(nvcvPreprocessedTensor.cuda(), device="cuda")
return torch_preprocessed_tensor
Err is: message: RuntimeError: NVCV_ERROR_INVALID_ARGUMENT: Invalid interpolation
Expected behavior how can i use LANCZOS to resize img?
I would like to move the existing OpenCV operations to the GPU, so I want to rewrite the original image = cv2.resize(image, (w_resize, h_resize), interpolation=cv2.INTER_LANCZOS4) to use cvcuda.resize. According to the official documentation, cvcuda implements this method.
Hi @Dribblelife, thank you for your interest and patience! Indeed, Resize does not support LANCZOS, while PillowResize and HQResize do. I understand that the documentation is ambiguous, I mark this issue as feature requests:
- to update the documentation of Resize to clarify what interpolation modes are supported
- to add LANCZOS interpolation to Resize In the meantime, I encourage you to look into PillowResize and HQResize to see if they meet your needs. Thank you,