对照片质量进行压缩

对照片质量进行压缩

其实无论是jpg还是png都是已经压缩编码化的格式罢了,原图片的大小要远远大于压缩编码后的格式
1,像素:图片放大到一定程度之后的一个个的小方块
2,RGB:每一个像素(小方块)都是由RGB所构成
3,颜色深度:8bit的颜色深度表示可以表示的颜色范围在[0-255]之间也就是2^8
4,图片的宽高:表示在水平方向(宽)和竖直方向(高)上有多少个像素点(小方块)
5,图片大小=图片的像素点个数×颜色通道×每个颜色通道的颜色深度 单位为bit
在这里插入图片描述
143.91KB=232×211×3×8(bit),当然1bit/8=1B,1B/1024=1KB

6,对于png图片含有RGB和alpha分量,其中alpha表示透明度
7,除了RGB以外还有BGR
8,其中的BGR表示蓝色blue、绿色green、红色red这些是单独的颜色分量

1,对jpg照片进行有损压缩

import cv2
img = cv2.imread("E:\Python-workspace\OpenCV/yy.jpg",1)#1表示彩色图片,0表示灰度图片
cv2.imwrite('E:\Python-workspace\OpenCV/y0.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,0])#这里的取值范围为0-100,其中0表示压缩的越厉害,体积越小当然会有损照片
cv2.imwrite('E:\Python-workspace\OpenCV/y50.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,50])
cv2.imwrite('E:\Python-workspace\OpenCV/y100.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,100])
效果如下:

运行前:
在这里插入图片描述
运行后:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2,对png照片进行等比压缩

import cv2
img = cv2.imread("E:\Python-workspace\OpenCV/yy.png",1)#1表示彩色图片,0表示灰度图片
cv2.imwrite('E:\Python-workspace\OpenCV/y0.png',img,[cv2.IMWRITE_PNG_COMPRESSION,0])#这里的取值范围为0-9,其中0表示压缩比最低,图片效果较好
cv2.imwrite('E:\Python-workspace\OpenCV/y5.png',img,[cv2.IMWRITE_PNG_COMPRESSION,50])
cv2.imwrite('E:\Python-workspace\OpenCV/y9.png',img,[cv2.IMWRITE_PNG_COMPRESSION,100])
效果如下:

运行前:
在这里插入图片描述
运行后:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结:

jpgpng
0-100有损压缩0-9等比压缩
有损无损
无透明度属性有透明度属性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378815.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Silverlight访问 Apache服务器(Tomcat,Geronimo)中部署的Webservice

Silverlight 访问 Apache服务器中的Webservice 开发环境 Vs2010 、 Silverlight4 、 Java Jdk1.6 U 21 、 Apache-tomcat-6.0.20 、 Myeclipse8.5 、 Apache-ant-1.8.1 、 Axis2 、 Geronimo-tomcat6-javaee5-2.2. 下载地址: Apache-tomcat : http://apa…

那些帮助你成为优秀前端工程师的讲座——《性能篇》

这篇文章是前端优秀讲座和讨论列表系列连载第七篇,介绍前端性能优化技巧。前端领域发展迅速,只有时刻掌握前端发展趋势和技术动态,学习前沿的开发思想和理念才能让自己跟上时代的步伐,保持自己的技术优势。 您可能感兴趣的相关文章…

mca终端_MCA的完整形式是什么?

mca终端1)MCA:计算机应用硕士 (1) MCA: Master of Computer Application) MCA is an abbreviation of Master of Computer Application. It is a masters degree program for post-graduation in Computer applications. This post-graduate course duration is abo…

查看照片的指定位置的像素点值,并在照片中绘制一条指定像素颜色的线段

查看照片的指定位置的像素点值,并在照片中绘制一条指定像素的线段 import cv2 img cv2.imread(E:\Python-workspace\OpenCV\yanyu/beyond.png,1)#1为彩色图片,0为灰度图片 (b,g,r) img[20,20]#取照片的(20,20)处的像素点,左上角为(0,0)&am…

图像分割-二阶导数零交叉点的含义

已知: 二阶导数在灰度斜坡和灰度台阶过渡处会产生双边缘响应。 二阶导数的符号可以用于确定边缘的过渡是从亮到暗还是暗到亮。 斜坡开始处,二阶导数为负,斜坡结束二阶导数为正,斜坡上,二阶导数为0.(亮到暗…

采购子系统-流程图、表结构、内容简介

设计说明: 流程图: 表结构: -- {*******************************************************} -- { } -- { GSP } -- { …

Anaconda下安装TensorFlow和OpenCV(都是心血呀~)

从国庆放假到现在的6号,我整整搞了将近五天多。安装个TensorFlow和OpenCV不下五次,各种问题各种解决,下载后卸载,卸载后下载,我快吐了啊这个国庆,但是最终还是达到了自己的目标(我太难了&#x…

图像分割-基本边缘检测roberts,prewitt,sobel,canny,laplace

执行边缘检测的三个基本步骤: 1、为降噪对图像进行平滑处理。(导数对噪声具有敏感性。图像的正负分量检测困难) 2、边缘点的检测。(提取边缘点的潜在候选者) 3、边缘定位。(从候选者中选出真是边缘点成员&a…

改变Jupyter的默认项目路径

开始接触Jupyter,看见它默认的工作路径是C盘,很难受想换下工作空间路径 管理员身份打开你的Anaconda Prompt 输入jupyter notebook --generate-config,找到你的配置文件位置 修改一下路径即可 一般情况到这一步就已经修改成功了&#xff…

图像分割-LOG检测器和DOG检测器

边缘检测是以较小的算子为基础的,具有两个建议 1、灰度变化与图像尺寸无关,因此检测要求使用不同尺寸的算子。 2、灰度的突然变化会在一阶导数产生波峰波谷,在二阶导数产生零交叉 大的算子检测模糊边缘,小的算子检测锐度集中的细节…

C++——统计多行单个字符类型个数

键盘输入n个字符,请分别统计大写字母、小写字母、数字、其他字符的个数并输出;还需要输出所有数字字符之和 【输入形式】 第一行为一个整数n(100 > n > 0),接下来n行每行一个字符 【输出形式】 输出第1行为4个整数,分别…

C++——已知a+b、 a+c、b+c、 a+b+c,求a、b、 c

有三个非负整数a、b、 C,现按随机顺序给出它们的两两和以及总和4个整数,即ab、 ac、bc、 abc, 注意,给出的4个数的顺序是随机的,请根据这四个数求出a、b、c是多少? [输入形式] 输入为一-行4个正整数, x1、 x2、x3、 x4 (0≤xi≤10^9) ,表示…

表示和描述-边界追踪

边界追踪目标: 输入:某一区域的点 输出:这一区域的点的坐标序列(顺时针或逆时针) Moore边界追踪法: 两个前提条件: 1、图像为二值化后的图像(目标为1,背景为0&#xff0…

图像分割-边缘连接

三种基本方法: 1:局部处理 2:区域处理 3:使用霍夫变换的全局处理 局部处理 根据预定的规则,将所有相似点连接起来。 用于确定边缘像素相似性的两个主要性质:1、梯度向量的幅度2、梯度向量的角度 由于要…

02-对图像进行边界填充

import cv2 import matplotlib.pyplot as pltimg2 cv2.imread("E:\Jupyter_workspace\study\data/cat.png")#读取照片,第二个参数若为0,则灰度图;若不填或者1则彩色图或本身图top_size,bottom_size,left_size,right_size (50,50,…

Windows Phone 7独立存储空间IsolatedStorage

Windows Phone 7的solatedStorage可以用来保存应用程序的数据和设置。结构图如下 一、相关类 1.IsolatedStorageFile类 1)描述:表示在独立存储空间中的文件和目录。 2)重要属性 long AvailableFreeSpace:IsolatedStorage有效的剩余…

图像分割-阈值处理详解(迭代法、Otsu法、平滑改善法、边缘改进法、分块处理法、局部特性法、移动平均法)

博主联系方式: QQ:1540984562 QQ交流群:892023501 群里会有往届的smarters和电赛选手,群里也会不时分享一些有用的资料,有问题可以在群里多问问。 阈值处理详解基础:基于全局的阈值处理1迭代算法(最小概率误…

java 用户控件_C#自定义控件VS用户控件

C#中自定义控件VS用户控件大比拼1 自定义控件与用户控件区别WinForm中,用户控件(User Control):继承自 UserControl,主要用于开发 Container 控件,Container控件可以添加其他Controls控件自定义控件(Custom Control):继…

SQL Server存储过程(procedure)应用

用户反映,系统操作日志会使用数据库快速增大,情况可参考下图, 问题分析,整个系统每个页面,都有写记录用户操作代码,修改或禁用这个代码,看来是不可能的。 在原有系统参数表添加一个选项&#xf…