Python-opencv打开保存图片含有中文路径的问题

# 打开
cv2.imdecode(np.fromfile(open_path, dtype=np.uint8), -1)

# 保存
cv2.imencode('.jpg', self.img)[1].tofile(save_path)
### 如何在使用 Python OpenCV 缩放图像时避免失真 为了减少缩放过程中产生的失真现象,在使用PythonOpenCV进行图像缩小时,可以选择更合适的插值方法而不是默认的最近邻插值法。最临近插值虽然简单快速但是容易造成明显的质量下降[^4]。 对于缩小操作来说,推荐采用`cv2.INTER_AREA`插值方式,这种方式能够更好地保持原有图像的质量并降低锯齿效应的影响。下面是一个具体实现的例子: ```python import cv2 def resize_image(input_path, output_path, width=None, height=None, interpolation=cv2.INTER_AREA): image = cv2.imread(input_path) # 获取原始尺寸 (h, w) = image.shape[:2] # 如果既没有指定宽度也没有指定高度则返回原图 if width is None and height is None: return image # 只指定了宽度的情况下按比例调整高度 elif width is not None and height is None: ratio = width / float(w) dim = (width, int(h * ratio)) # 只指定了高度的情况同理 elif height is not None and width is None: ratio = height / float(h) dim = (int(w * ratio), height) resized = cv2.resize(image, dim, interpolation=interpolation) # 显示结果(可选) cv2.imshow("Resized Image", resized) cv2.waitKey(0) # 保存文件 cv2.imwrite(output_path, resized) # 调用函数实例化 resize_image('input.jpg', 'output.jpg', width=800) ``` 这段代码定义了一个名为`resize_image`的功能函数,该函数接收输入图片路径、输出图片路径以及其他几个参数用于控制最终得到的新尺寸,并且允许用户自定义使用的插值算法,默认设置为`INTER_AREA`以优化缩小过程中的画质表现[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值