opencv调整大小改变RGB值

opencv resize changing the RGB values

使用 opencv resize 我注意到图像在上下调整大小后变得模糊。有没有办法,我在调整大小后消除图像中的模糊?`我相信这个问题是由于采样问题...... 2 images before zoomreset and after zoomreset is shared here for reference

Image2 shows there is a change in color around a solid color

def zoomreset(self):

    imagergb=self.bae.image
    originalimage=cv2.imread('original.png')
    imagergb.save('resetzoomed.png')
    cvresetzoomimage=cv2.imread('resetzoomed.png',cv2.IMREAD_UNCHANGED)
    # pixels_x=self.bae.image.width
    # pixels_y = self.bae.image.height
    pixels_x=self.orgwdth
    pixels_y=self.orghght
    dim=(int(pixels_x),int(pixels_y))
    cvresetzoom=cv2.resize(cvresetzoomimage,dim,interpolation=cv2.INTER_AREA)
    # cv2.imshow("Resized Image", cvresized)
    cv2.imwrite('resetzoomedimage.png',cvresetzoom)
    self.bae.image=Image.open('resetzoomedimage.png')
    self.tkinter_image = PIL.ImageTk.PhotoImage(self.bae.image)
    self.show_image()
    self.image_canvas.configure(scrollregion = self.image_canvas.bbox("all"))
    self.image_canvas.config(width=int(pixels_x), height=int(pixels_y), scrollregion=(0, 0, int(pixels_x), int(pixels_y)))

如果缩小图像,无论采用何种插值方法,都会丢失像素值。同样,如果您尝试使用像素算法的现有值对图像进行插值以进行插值。

您可以研究插值算法(最近邻,Inter_linear..)它们是如何工作的,以便更好地理解。