成功解决cv2.imwrite(filename, img)代码输出中文文件乱码的问题(cv2.imencode方法解决)

目录

解决问题

解决思路

1、从网络读取图像数据并转换成图片格式

2、将图片编码到缓存,并保存到本地

解决方法


解决问题

cv2.imwrite(filename, img)代码,输出中文文件乱码的问题

解决思路

中文乱码,利用imencode方法,cv2.imencode('.jpg', img)[1].tofile(filename)

cv2.imdecode()函数:从指定的内存缓存中读取数据,并把数据转换(解码)成图像格式;主要用于从网络传输数据中恢复出图像。
cv2.imencode()函数:是将图片格式转换(编码)成流数据,赋值到内存缓存中;主要用于图像数据格式的压缩,方便网络传输。

1、从网络读取图像数据并转换成图片格式

# -*- coding: utf-8 -*-
import numpy as np
import urllib
import cv2url = 'http://www.pyimagesearch.com/wp-content/uploads/2015/01/google_logo.png'
resp = urllib.urlopen(url)
image = np.asarray(bytearray(resp.read()), dtype="uint8")
image = cv2.imdecode(image, cv2.IMREAD_COLOR)
cv2.imshow('URL2Image',image)
cv2.waitKey()

2、将图片编码到缓存,并保存到本地

# -*- coding: utf-8 -*-
import numpy as np
import urllib
import cv2img = cv2.imread('0122.jpg')
# '.jpg'表示把当前图片img按照jpg格式编码,按照不同格式编码的结果不一样
img_encode = cv2.imencode('.jpg', img)[1]
# imgg = cv2.imencode('.png', img)data_encode = np.array(img_encode)
str_encode = data_encode.tostring()# 缓存数据保存到本地
with open('img_encode.txt', 'w') as f:f.write(str_encode)f.flush

参考文章
OpenCV-Python cv2.imdecode()和cv2.imencode() 图片解码和编码

解决方法


cv2.imwrite(filename, img)
改为
cv2.imencode('.jpg', img)[1].tofile(filename)

哈哈,大功告成!

成功解决cv2.imwrite(filename, img)代码输出中文文件乱码的问题(cv2.imencode方法解决)相关推荐

  1. 【50关于Visual Studio 2019控制台输出中文出现乱码问题及解决办法】

    文章目录 关于Visual Studio 2019控制台输出中文出现乱码问题及解决办法 1.从.txt文件中读取输出出现乱码 2.从中文字符串中读取输出出现乱码 关于Visual Studio 201 ...

  2. MATLAB打开代码,中文注释乱码的解决方法

    MATLAB打开代码,中文注释乱码的解决方法 由于matlab版本不同,其编码方式也不同.这边给出两种方法可解决这些问题(我的电脑是win11,2018a版本的matlab) 1.用电脑自带的记事本打 ...

  3. Android studio编译日志输出中文出现乱码 (如apk为中文命名时候)解决

    Android studio编译日志输出中文出现乱码 (如apk为中文命名时候)解决 遇到乱码问题导致编译后 apk安装文件出错等 使用如下方法解决: 没有则点击**"create" ...

  4. 解决从keil上复制代码粘贴后出现乱码的问题

    解决从keil上复制代码粘贴后出现乱码的问题 首先打开keil,打开一个工程 点击Edit中的Configuration'选项 点击configuration选项对话框中的Enconding,选择Ch ...

  5. python3输出中文_解决Python3用PIL的ImageFont输出中文乱码的问题

    今天在用python3+ImageFont输出中文时,结果显示乱码 # coding:utf-8 from PIL import Image, ImageDraw, ImageFont image= ...

  6. Android读取中文文件乱码解决方法

    最近在做个MP3播放器,出现中文乱码问题,在网上找了很多解决办法,我整理了出现乱码的点和解决方案,拿出来和大家共享一下 1.读取中文文件乱码解决方法 package com.apj.conv; imp ...

  7. JavaEE中用response向客户端输出中文数据乱码问题分析

    这篇文章主要介绍了JavaEE中用response向客户端输出中文数据乱码问题分析,需要的朋友可以参考下 Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的reques ...

  8. vs2012编程中输出中文出现乱码

    关于"vs2012编程中输出中文出现乱码"问题的探究 问题如下: //代码如下// #include<iostream> using namespace std; in ...

  9. qt项目中的某一个类的输出中文信息乱码,其它类中文输出正常

    问题描述 qtcreate5.13.2中整个项目中通过添加头文件,使用qDebug()输出中文打印信息,输出中文都是正常的,但是有一个类的输出中文是乱码. 解决方法 修改该类的编码格式.由于项目默认采 ...

最新文章

  1. python第九章:面向对象--小白博客
  2. SWIFT问题很大,第4家受害银行浮出水面
  3. linux dev_info,Linux命令集-xfs_info
  4. Springboot学习问题记录
  5. Python可视化中Matplotlib绘图(2.设置范围、标签、标题、图例(详细参数))
  6. 第四-generation音频:互联网智能声音会火
  7. 计算机配置 凭据分配,win7怎样添加凭据?-win7添加凭证的方法 - 河东软件园
  8. 让VS Code 支持 Jupyter Notebook
  9. servlet获取不到Angular4 post过来的参数
  10. MATLAB的PLOT函数线型设置及横坐标为字符串的代码实例
  11. Ubuntu18.04 + CUDA10.0 + tensorflow-gpu 安装过程
  12. 使用Inno Setup 打包.NET程序,并自动安装.Net Framework
  13. 微信登录界面安卓代码_安卓Activity劫持与反劫持
  14. 计算机开机速度慢是什么原因,电脑开机慢是什么原因?怎么处理?
  15. 《茅屋为秋风所破歌》古诗鉴赏
  16. emwin模拟器编译环境搭建及helloworld例程
  17. 大数据告诉你,从洛阳北大青鸟毕业的学生未来发展到底怎么样?
  18. 3个窗口卖票java_三个窗口同时卖火车票,如何用代码将该场景实现?
  19. Android网络编程之Http请求服务器数据(GET方式)
  20. Figma 中文社区找到了!

热门文章

  1. html验证座机号码_html5表单pattern属性配合正则验证电话和手机号码
  2. 一致吗 驱动_外国不过春节?AMD驱动再更新,解决BUG,游戏不闪退,重启不黑屏...
  3. 正则表达式 语言间通用
  4. Javascript 面向对象编程中的‘new’
  5. Sublime Text Version 3.0,Build3143注册码
  6. 西门子全球强劲开启2016财年
  7. 瞬发大量并发连接 造成MySQL连接不响应的分析
  8. “设为桌面图标”的ASP源代码
  9. 教你破解XP系统Administrator权限
  10. varchar与varchar2的区别