如何用Python帮你打码

技术如何用Python帮你打码这期内容当中小编将会给大家带来有关如何用Python帮你打码,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。引言所谓的像素图,就是对图像做一个颗粒化的效果,

本期,边肖将为您带来如何使用Python为您编码的信息。文章内容丰富,从专业角度进行分析和叙述。看完这篇文章,希望你能有所收获。

所谓像素贴图就是在图像上做一个颗粒感的效果,让它产生一种奇妙的朦胧感。话不多说,我们先来看一个效果图。

如何用Python帮你打码

如何用Python帮你打码

嗯,效果还不错吧?现在,我们使用Python来实现这种像素化效果。

1环境

操作系统:Windows。

Python版本:3.7.3。

2需求分析。

最简单的一个思路就是打开图片后把图片分成一些像素块,然后对这些像素块中的图像信息进行处理(修改图像中的RGB值)。

在这里,我们使用Numpy库和PIL库来实现这个需求,后者用于读取和保存图像,所有涉及的图像处理动作都是通过Numpy来实现的。

关于NumPy模块和PIL模块的介绍,请参考以下内容。

NumPy(numeric Python)是Python语言的扩展库,支持大量的维数组和矩阵运算,也为数组运算提供了大量的数学函数库。

PIL(Python imageing Library)是Python中常见的图像处理库,而Pillow是友好的PIL Fork,它提供了广泛的文件格式支持和强大的图像处理能力,包括图像存储、图像显示、格式转换和基本的图像处理操作。

这两个模块不是Python内置的,都属于第三方模块,可以通过以下方式直接安装。

pipinstallnumpy

PipinstallPillow注意,如果要使用PIL模块,需要直接安装PILL模块。3代码实现。

首先导入我们想要使用的模块。

importnumpayasnp

从FromPILimportImage接下来,我们需要对图片进行处理。首先,我们需要打开一张图片,如下所示。

data=image . open(' p : \ personal \洛神. xpg '),然后将图像转换为Numpy数组进行进一步处理。

Im1=np.array(data)这里处理的核心思想也很简单,主要是通过中间值的RGB重新分配所选范围块的RGB。

im1[y : ypPixel,x : x pixel]=im1[y(pixel//2)][x(pixel//2)],其中x和y分别指的是我们的图像的水平和垂直像素的坐标值,而pixel指的是我们要处理这个图像的像素块有多大,以及我们设置的单位像素块(pixel)。

当然,如果单位像素块设置得太小,生成的图像将没有效果。至于合适的价值,你需要自己去尝试。对于不同大小的图像,要达到最佳的像素化显示效果,需要设置的单位像素块的大小也是不同的,所以实践给了我们真知。

我们需要指定一个图像的处理范围,并且像素范围内的每个坐标(像素)点。

foryinrange(起始坐标[1],结束坐标[1],像素):

forxinrange(起始坐标[0],结束坐标[0],像素):

在通过处理完成后,我们将把Numpy数组转换回图像。

im2=image . from array(im1 . astype(NP . uint 8))最后显示处理后的图像。

im2.show()4代码的全景显示。

importnumpayasnp

from PiLiimportimage

defto _ pixelBlock(像素,开始坐标,结束坐标):

'''

:param pixel:单位像素块元素大小。

3360 param Start _ coordinates :处理的开始坐标(像素)点,元组形式。

:参数结束坐标:处理的结束坐标(像素)点,以元组形式。

:return:

所选范围块的RGB由中间值的RGB重新分配。设置的单位像素块(像素值)越小,生成的像素图越精确。

'''

#读取图片并将其从PIL图像转换为NumPy数组。

im1=NP . array(image . open(' p : \ Personal \珞申. jpg ')

#遍历待处理范围内的所有坐标(像素)点。

foryinrange(起始坐标[1],结束坐标[1],像素):

forxinrange(起始坐标[0],结束坐标[0],像素):

#通过中间值的RGB重新分配选定范围块的RGB。

im1[y:y像素,x:x像素]=im1[y(像素//2)][x(像素//2)]

#将NumPy数组转换为PIL图像。

im2=image . from array(im1 . astype(NP . uint 8))

#显示处理后的图像。

im2.show()

if__name__=='__main__':

#设置要处理的像素范围,以及生成最终渲染的像素块有多大。

to _ PixellBlock(10,(0,0),(1280,800)

在PIL和Numpy的合作下,几行代码就实现了图像的像素处理。当然,这只是一个简单的实现。为了获得更丰富的处理结果,还可以使用CV2。

以上就是边肖分享的如何用Python给大家编码。如有类似疑惑,请参考以上分析了解。想了解更多,请关注行业信息渠道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/48488.html

(0)

相关推荐

  • 土字旁一个于怎么读,一个土字旁一个念什么字

    技术土字旁一个于怎么读,一个土字旁一个念什么字该字是土字旁一个于怎么读:埝。埝 niàn
    基本释义:田里或浅水里用来挡水的土埂:堤~。
    详细释义:
    《名词》:
    田里或浅水里用于挡水的土埂 。
    如:打埝
    淮北盐场交货

    生活 2021年10月26日
  • 孙悟空的外貌,孙悟空的外貌描写50字左右优秀

    技术孙悟空的外貌,孙悟空的外貌描写50字左右优秀孙悟空的外貌是孙悟空的外貌:1、拐子(腿的下部与脚相连处)脸、别颏腮(凹陷皱缩的脸)、雷公嘴(尖鸟嘴)、红眼睛的一个痨病魔鬼。
    2、圆眼睛,查耳朵(张开耳朵),满面毛,雷公

    生活 2021年10月25日
  • 一斤是多少g,800克的东西是多少斤呢

    技术一斤是多少g,800克的东西是多少斤呢800克(g)=1.6斤。分析如下:500克等于1斤,300克等于300/500=0.6斤。所以800克等于1+0.6=1.6斤。千克是公制计量单位,一千克等于一公斤,合我国二市

    生活 2021年10月22日
  • 怎么解决consul重启引发问题

    技术怎么解决consul重启引发问题这篇文章将为大家详细讲解有关怎么解决consul重启引发问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。2019/07/12 13:

    攻略 2021年10月20日
  • css3实现平移效果的属性是(css3中实现平移效果的属性)

    技术在css3中可以实现平移效果的属性是哪个这篇文章给大家分享的是有关在css3中可以实现平移效果的属性是哪个的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 在cs

    攻略 2021年12月15日
  • 分析mysql系统库日志信息记录表

    技术分析mysql系统库日志信息记录表这篇文章主要介绍“分析mysql系统库日志信息记录表”,在日常操作中,相信很多人在分析mysql系统库日志信息记录表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望

    攻略 2021年11月5日