Python中怎样调整图像大小


今天就跟大家聊聊有关Python中怎样调整图像大小,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在这个例子中,我们将创建我们自己的图像,而不是找到一个真正的图像来操纵。为什么?事实上,创造图像是一个很好的方式来说明一个图像实际上是什么。这个调整大小的程序在Instagram上也同样适用。那么,什么是图像?在Python数据术语中,图像是int元组的列表。NumPy的定义是一个二维形状数组 (h, w, 4),其中h表示高的像素数(上下),w表示宽的像素数(从左到右)。换句话说,图像是像素列表(行)的列表(整个图像)。每个像素由3个整数和1个可选浮点数组成:红色通道、绿色通道、蓝色通道、alpha(浮点可选)。红色、绿色、蓝色通道(RGB)的值从0到255。从现在开始,我们将讨论没有alpha通道的彩色图像,以保持简单。Alpha是像素的透明度。图像也只能有一个值从0到255的通道。这就是灰度图像,也就是黑白图像。在这里我们使用彩色图像!Python完全能够创建图像。要显示它,我将使用matplotlib库,你可以使用它安装:创建像素:创建图像:这就是渲染的图像。在背后,数据是这样的:现在我们有了一个图像,让我们调整它的大小!在Python中编写调整图像大小的算法实际上有很多的工作量。在图像处理算法中有很多内容,有些人为此贡献了十分多的工作。例如重采样——在缩小后的图像中使用一个像素来代表周围的高分辨率像素。图像处理是一个巨大的话题。如果你想亲眼看看,看看Pillow的Image.py,它在路径path/to/site-packages/PIL中。这中间还有一些优化,比如抗锯齿和减少间隙…这里的内容非常多。我们是站在巨人的肩膀上,可以用一行代码来解决我们的问题。如果你有兴趣了解更多有关处理图像时幕后发生的事情,我鼓励你更多地查看“机器视觉”主题!这绝对是一个蓬勃发展的领域。做得足够好,就会有很多公司愿意为你的计算机视觉专业知识付出最高的代价。自动驾驶,IOT,监视,你命名它;所有基本上依赖于处理图片(通常在Python或C++)。一个很好的起点是查看scikit image。OpenCV可以用来作图像处理。他使用C++编写并移植到了Pythoninterpolation参数的选项是cv2包中提供的flags之一:返回后:它做了我们所期望的。图像从900像素高,900像素宽,到450450(仍然有三个颜色通道)。因为Jupyter Lab的matplotli 香港云主机b着色,上面的屏幕截图看起来不太好。pillow库在Image类上有一个调整大小的方法。它的参数是:以下是函数:使用Pillow 的函数与OpenCV非常相似。唯一的区别是PIL.Image.Image类具有用于访问图像(宽度、高度)的属性大小。结果是:请注意show方法如何打开操作系统的默认程序以查看图像的文件类型。现在我们有了一个调整图像大小的函数,现在是时候让它有一个运行调整大小的用户界面了。调整一个图像的大小是可以的。但我们希望能够批量处理图像。我们将要构建的接口将是最简单的接口:命令行实用程序。Pallets项目是Flask背后的天才社区,是一个Jinja模板引擎:Click(https://click.palletsprojects.com/en/7.x/。)Click是一个用于制作命令行程序的库。这比使用普通的argparse或在if __name__ == '__main__':中启动一些if-then逻辑要好得多。所以,我们将使用Click来装饰我们的图像调整器。下面是从命令行调整图像大小的完整脚本!命令行程序从入口点函数main运行。参数通过传递给click.option选项:pattern采用字符串形式来定位与脚本运行的目录相关的一个或多个图像。--pattern="../catpics/*.png将向上一级查找catpics文件夹,并返回该文件夹中具有.png图像扩展名的所有文件。scale接受一个数字、浮点或整数,并将其传递给resize函数。这个脚本很简单,没有数据验证。如果你添加到代码中,检查比例是一个介于5和99之间的数字(合理的缩小比例参数)。你可以通过-s "chicken nuggets"进行设置。如果不希望在程序运行时将文本输出到标准流,则quiet是一个选项参数。从命令行运行程序:结果:正在检查文件夹:不错!所以程序缩小了图像,给了它一个描述性的标签,我们可以看到文件大小从362KB到231KB!为了查看程序同时处理多个文件,我们将再次运行它:文件系统输出:只要匹配到了模式,递归可以处理任意数量的图像。Click 是一个神奇的工具。它可以包装一个函数并在一个模块中以“正常的方式”从一个if __name__ == '__main__'语句运行。(实际上,它甚至不需要这样做;你只需定义和装饰要运行的函数即可),但它真正的亮点在于将脚本作为包安装。这是通过Python附带的setuptools库完成的。这是我的setup.py.使用以下命令生成可执行文件/包装包:现在,你可以在不使用python命令的情况下调用脚本。另外,如果你将新的可执行文件添加到路径中的文件夹中,你可以从计算机上的任何位置调用此程序,如resize -p *jpg -s 75看完上述内容,你们对Python中怎样调整图像大小有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注开发云行业资讯频道,感谢大家的支持。

相关推荐: ES6中Set与WeakSet集合怎么用

本文小编为大家详细介绍“ES6中Set与WeakSet集合怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“ES6中Set与WeakSet集合怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。每天都用数组,有没有过一个Mome…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/06 08:50
下一篇 08/06 08:51

相关推荐