opencv的cv2.imwrite() 写入后像素值发生改变 jpg的问题

在做图像分割的时候,我代码里明明只有8种颜色,但是生成的图片用PS打开后,添加了许多和8种颜色相近的颜色

于是我怀疑是读写函数的问题,于是做了测试

测试

import cv2
import numpy as npimg=cv2.imread('rgb1.jpg')#读cv2.imwrite('3/32.jpg',img)#重命名写img2=cv2.imread('3/32.jpg')#再度rows = np.shape(img2)[0]
cols = np.shape(img2)[1]#检查错误
for i in range(rows):for j in range(cols):if(all(img2[i,j]!=img[i,j])):print(i,j)print(img2[i,j])print(img[i,j])
print("over")

结果:很多像素都发生了变化

最终查看了.jpg 格式的资料,发现JPEG有损压缩,即它的压缩是不可逆的,解压再压缩得到的图片像素值会不同

详细内容可参考这篇博客

而png是无损压缩,在特殊需要的时候可以使用 png 格式

opencv cv2.imwrite() 写入后像素值改变 jpg写入写出像素值变化相关推荐

  1. ACMNO.30 C语言-宏交换 定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。

    题目描述 定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参.输出已交换后的两个值. 输入 两个数,空格隔开 输出 交换后的两个数,空格隔开 样例输入 1 2 样例输出 2 ...

  2. REUSE_ALV_GRID_DISPLAY_LVC 实现单元格值改变前(DATA_CHANGED)和单元格值改变后(DATA_CHANGED_FINISHED)的事件响应

    1. 实现向ALV键入值的时候,触发事件 1. 用于当alv数据被修改之前对数据进行逻辑处理 2. 用于当ALV数据被修改之后,存入内表之后的逻辑处理 3. GO_GRID->GET_SELEC ...

  3. opencv cv2.imwrite()将视频切割成图片保存失败 + 以及按秒切帧代码

    原因:文件的路径和文件名不能是中文的 代码 按秒切割视频成图片: # 视频切割成图片 import cv2 import glob import osdef video_to_frame(save_p ...

  4. [编程入门]带参数宏定义练习:定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。

    #include<bits/stdc++.h> #define fun(a,b) t=a;a=b;b=t; using namespace std;int main() {int a,b, ...

  5. php 失去 焦点 另一个表单猎取值,同一表单如何根据某一个文本框的值 改变另一个文本框的值...

    我用的是失去焦点,然后后台查询到了数据,返回回来显示不了!! $(document).ready(function(){ $("#card").blur(function(){ v ...

  6. 读取excel文件后计算指定行列笛卡儿积并写出

    env: 1.java1.8 2.poi 3... attention: 1.目前仅支持xlsx 2.不考虑cell为null和""的情况.效果等同于考虑之后删除有null或&qu ...

  7. dwr java有返回值但是js获取不到返回值_一探究竟:Java反射效率低的原因到底在哪?...

    预备知识 了解 Java 反射基本用法 看完本文可以达到什么程度 了解 Java 反射原理及 Java 反射效率低的原因 文章概览 我们在 Java 开发中,难免会接触到反射,而在一些框架中,反射的运 ...

  8. cv2 inrange灰度图_基于openCV,PIL的深色多背景复杂验证码图像转灰度二值化,并去噪降噪处理分析...

    title: [python]基于openCV,PIL的深色多背景复杂验证码图像转灰度二值化,并去噪降噪处理分析 type: categories copyright: true categories ...

  9. 【OpenCV 例程200篇】02. 图像的保存(cv2.imwrite)

    [OpenCV 例程200篇]02. 图像的保存(cv2.imwrite) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更 ...

最新文章

  1. 第二周 数据获取与表示 第一节 数据获取 Data Acquisition
  2. 5GS 协议栈 — NR 空中接口协议栈
  3. linux boot空间分多少,/boot分区空间不足,清理老内核所占空间
  4. 【Open Search产品评测】- 来往,7天轻松定制属于自己的搜索引擎
  5. mysql在哪儿查看表的代码_查看mysql数据库及表编码格式
  6. 表字段注释放在哪_橱柜台面6种材质优缺点大解剖,我来测评,告诉你哪一种适合你!...
  7. Java消息服务思维导图笔记
  8. Super Jumping! Jumping! Jumping!(HDU-1087)
  9. 基于MM2的跨IDC kafka热备多活方案
  10. 在TextView中插入图片
  11. html文件用excel打开乱码,都是兼容惹的祸 用excel打开xls文件出现乱码的解决方法...
  12. 清除数据库日志操作_SQL SERVER
  13. 库缇斯“走”向演讲台
  14. 邮箱容量多大?163邮箱发邮件无限容量解读
  15. android camera hal3 新增vendor tag
  16. B站UP主发起停更潮
  17. RC延时电路的 时间常数 和 延时时间(电压达到时间)和电容充放电时间计算和选取
  18. android gettext方法,android – EditText不返回getText()上的内容
  19. 论文阅读笔记:SCAN: Learning to Classify Images without Labels
  20. 网站UI设计的注意事项

热门文章

  1. 物联网毕设分享 STM32智能饮水机控制系统(源码+硬件+论文)
  2. 【Unity3D日常开发】Unity3D的证书认证
  3. Microsoft Remote Desktop的安装使用
  4. docker login 密码加密保存
  5. Matlab2017b的入门使用笔记
  6. 我们组的OA办公自动化系统
  7. SWMM从入门到实践教程 04 快速入门案例的模拟执行
  8. 程序员吐槽市场饱和,混不下去要转行?
  9. 单点登录解决方案CAS
  10. python类继承的查找顺序问题