空间转换怎么操作,什么软件能做到空间变换

首页 > 经验 > 作者:YD1662022-11-01 19:58:12

图1-29 鹦鹉图像的剪切变换

④ 透视变换。通过使用Image.PERSPECTIVE参数,可以使用transform()函数对图像进行透视变换,如下面的代码所示:

params = [1, 0.1, 0, -0.1, 0.5, 0, -0.005, -0.001] im1 = im.transform((im.width//3, im.height), Image.PERSPECTIVE, params,Image.BICUBIC) im1.show()

运行上述代码,透视投影之后获得的图像如图1-30所示。

空间转换怎么操作,什么软件能做到空间变换(17)

图1-30 鹦鹉图像的透视变换

(7)更改图像的像素值。可以使用putpixel()函数更改图像中的像素值。接着讨论使用函数向图像中添加噪声的主流应用。

可以通过从图像中随机选择几个像素,然后将这些像素值的一半设置为黑色,另一半设置为白色,来为图像添加一些椒盐噪声(salt-and-pepper noise)。如下代码展示了如何添加噪声:

# choose 5000 random locations inside image im1 = im.copy() # keep the original image, create a copy n = 5000 x, y = np.random.randint(0, im.width, n), np.random.randint(0, im.height,n) for (x,y) in zip(x,y): im1.putpixel((x, y), ((0,0,0) if np.random.rand() < 0.5 else (255,255,255))) # salt-and-pepper noise im1.show()

运行上述代码,输出噪声图像,如图1-31所示。

空间转换怎么操作,什么软件能做到空间变换(18)

图1-31 添加了椒盐噪声的鹦鹉图像

(8)在图像上绘制图形。可以用PIL.ImageDraw模块中的函数在图像上绘制线条或其他几何图形(例如ellipse()函数用于绘制椭圆),如下面的代码所示:

im = Image.open("../images/parrot.png") draw = ImageDraw.Draw(im) draw.ellipse((125, 125, 200, 250), fill=(255,255,255,128)) del draw im.show()

运行上述代码,输出图像如图1-32所示。

空间转换怎么操作,什么软件能做到空间变换(19)

图1-32 在鹦鹉图像上绘制椭圆

(9)在图像上添加文本。可以使用PIL.ImageDraw模块中的text()函数向图像中添加文本,如下面的代码所示。

draw = ImageDraw.Draw(im) font = ImageFont.truetype("arial.ttf", 23) # use a truetype font draw.text((10, 5), "Welcome to image processing with python", font=font) del draw im.show()

运行上述代码,输出图像如图1-33所示。

空间转换怎么操作,什么软件能做到空间变换(20)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.