关于opencv读取和写入路径有汉字的处理方式

作者:AI浩 时间:2021-10-25 18:00:09 

opencv读取和写入路径有汉字的处理

读取图片

 img_gt = cv2.imdecode(np.fromfile(path, dtype=np.uint8), -1)
 img_gt = cv2.cvtColor(img_gt, cv2.IMREAD_COLOR)

写入图片

write_path=f'{save_dir}/{imgname}.jpg'
cv2.imencode('.jpg', output)[1].tofile(write_path)  # 保存图片

C++版本

#include<iostream> 
#include <opencv2/core/core.hpp> 
#include <opencv2/highgui/highgui.hpp>
#include "opencv2/imgproc.hpp"
#include "opencv2/imgcodecs.hpp"
#include <opencv2/highgui/highgui_c.h>
using namespace cv;
int main()
{
    std::string image_path = samples::findFile("D:\\素材\\1.png");
    Mat img = imread(image_path, IMREAD_COLOR);
    imshow("src", img);//原图像
    waitKey(0);
}

关于opencv读取和写入路径有汉字的处理方式

opencv的imread不支持中文路径问题

其实严格来说,不是imread不支持中文路径,而是不支持non-ascii。所以不论路径如何转换编码格式,应该都不能解决问题。

解决的思路就是先用其他支持中文的API,把图片数据导入到内存中,然后通过opencv从内存读入图片的方法,读入图片。

实现很简单

import cv2
import numpy as np

def readimg(filename, mode):
    raw_data = np.fromfile(filename, dtype=np.uint8)  #先用numpy把图片文件存入内存:raw_data,把图片数据看做是纯字节数据
    img = cv2.imdecode(raw_data, mode)  #从内存数据读入图片
    return img

这个函数就可以代替opencv的imread了,并且该函数支持中文路径

来源:https://blog.csdn.net/hhhhhhhhhhwwwwwwwwww/article/details/124428567

标签:opencv,写入,路径,汉字
0
投稿

猜你喜欢

  • python网络编程学习笔记(二):socket建立网络客户端

    2023-08-18 13:57:44
  • Python OpenCV特征检测之特征匹配方式详解

    2021-07-20 00:51:58
  • 利用 Python ElementTree 生成 xml的实例

    2022-04-14 08:32:48
  • Django crontab定时任务模块操作方法解析

    2022-08-01 03:50:56
  • python实现坦克大战游戏 附详细注释

    2023-06-26 07:58:13
  • SqlServer 扩展属性的介绍

    2024-01-17 09:32:15
  • go slice 数组和切片使用区别示例解析

    2023-06-22 04:07:16
  • Python深度学习实战PyQt5信号与槽的连接

    2023-03-07 20:33:43
  • Python打开文件、文件读写操作、with方式、文件常用函数实例分析

    2023-07-01 16:31:08
  • MySQL 8.0.29 安装配置方法图文教程(windows zip版)

    2024-01-17 17:06:44
  • python有几个版本

    2021-09-12 00:44:30
  • ubuntu下mysql版本升级到5.7

    2024-01-13 11:10:00
  • PHP实现数组根据某个字段进行水平合并,横向合并案例分析

    2023-10-04 04:55:53
  • PHP设计模式中的命令模式

    2023-05-27 21:13:43
  • Python 统计位数为偶数的数字代码详解

    2023-12-05 19:43:03
  • GoFrame框架gset使用对比PHP Java Redis优势

    2023-11-24 04:08:58
  • Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]

    2023-03-13 09:20:52
  • tensorflow多维张量计算实例

    2022-02-05 00:43:48
  • pip install python-Levenshtein失败的解决

    2023-07-31 05:17:28
  • Asp中通过简单的例子理解下ByVal和ByRef的用法

    2011-02-20 10:57:00
  • asp之家 网络编程 m.aspxhome.com