app软件制作网站,怎么进入凡科建设的网站,wordpress 被黑,网站开发一定得用html吗文章目录 一、实验介绍二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容0. 安装 PIL 库1. 图像读取和写入a. 图像读取b. 图像写入c. 构建新图像 2. 图像复制粘贴a. 图像复制b. 图像局部复制c. 图像粘贴 3. 几何变换a. 图像调整大小b. 图像旋转c. 图像翻转 4. 图像增强a.… 文章目录 一、实验介绍二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容0. 安装 PIL 库1. 图像读取和写入a. 图像读取b. 图像写入c. 构建新图像 2. 图像复制粘贴a. 图像复制b. 图像局部复制c. 图像粘贴 3. 几何变换a. 图像调整大小b. 图像旋转c. 图像翻转 4. 图像增强a. 图像亮度增强b. 图像颜色增强c. 图像对比度增强d. 图像锐度增强 5. 图像滤波a. 图像滤波 - 浮雕b. 图像滤波 - 轮廓
一、实验介绍 图像处理在深度学习领域中起到了至关重要的作用Python Imaging LibraryPIL作为一种主流的图像处理库为图像的读取、处理和增强提供了丰富的功能。 本实验将介绍 PIL 的基本用法主要包括图像读取、写入、复制、粘贴、几何变换以及图像增强、图像滤波等方面。 Pillow v2.4.0 (PIL fork)
二、实验环境 本系列实验使用了PyTorch深度学习框架相关操作如下
1. 配置虚拟环境
conda create -n DL python3.7 conda activate DLpip install torch1.8.1cu102 torchvision0.9.1cu102 torchaudio0.8.1 -f https://download.pytorch.org/whl/torch_stable.htmlconda install matplotlibconda install scikit-learn2. 库版本介绍
软件包本实验版本目前最新版matplotlib3.5.33.8.0numpy1.21.61.26.0python3.7.16scikit-learn0.22.11.3.0torch1.8.1cu1022.0.1torchaudio0.8.12.0.2torchvision0.9.1cu1020.15.2
三、实验内容
0. 安装 PIL 库 可以使用以下命令
pip install pillow1. 图像读取和写入 下面我将介绍如何使用 PIL 的 Image.open 方法读取图像并使用 display 方法显示图像。展示了如何使用 save 方法将图像保存到设备上、使用 Image.new 构建新的图像。
a. 图像读取
from PIL import Image# we can use open api to load image data
img Image.open(qomolangma.jpg)
print(img.format,img.size)
# show your image
display(img)b. 图像写入
import os# we can utilize save() to write current image to device.
file_name qomolangmah.jpg
img.save(file_name)
print(os.path.join(os.getcwd(),file_name))c. 构建新图像
image_new Image.new(RGB, (50, 50), red)
display(image_new)
file_name new.png
image_new.save(file_name)
print(os.path.join(os.getcwd(), file_name))2. 图像复制粘贴 PIL 提供了灵活的图像复制和粘贴功能下面我将介绍全局级别和局部级别的图像复制以及使用 crop 方法进行局部图像复制。此外还有图像的粘贴和合并操作。
a. 图像复制
img Image.open(qomolangma.jpg)
img_copy img.copy()
display(img_copy)b. 图像局部复制
rect (0, 0, 100, 100)
img_copy_local img.crop(rect)
display(img_copy_local)c. 图像粘贴
img_new Image.open(new.png)
box (10, 10, 60, 60)
img.paste(img_new, box)
display(img)3. 几何变换 图像的几何变换是图像处理中的重要任务之一下面我将详细介绍图像的调整大小、旋转和翻转操作。
a. 图像调整大小
img Image.open(qomolangma.jpg)
print(img.size)
img_resize img.resize((512, 224))
print(img_resize.size)b. 图像旋转
img_rotate img.rotate(45)
display(img_rotate)或使用
img_rotate img.transpose(Image.ROTATE_90)
img_rotate img.transpose(Image.ROTATE_180)
img_rotate img.transpose(Image.ROTATE_270)
display(img_rotate)c. 图像翻转
img_flip img.transpose(Image.FLIP_LEFT_RIGHT)
display(img_flip)4. 图像增强 PIL 提供了 ImageEnhance 和 ImageFilter等 模块用于图像的亮度、颜色、对比度和锐度的增强。下面我将通过示例演示如何使用这些模块进行图像增强。
a. 图像亮度增强
from PIL import ImageEnhanceimg Image.open(qomolangma.jpg)
img_bri ImageEnhance.Brightness(img)
img_bri_enh img_bri.enhance(factor0.5) # factor is from 0 to 1.
display(img_bri_enh)b. 图像颜色增强
img_col ImageEnhance.Color(img)
img_col_enh img_col.enhance(factor1.5) # factor is from 0 to postive infinity
display(img_col_enh)c. 图像对比度增强
img_con ImageEnhance.Contrast(img)
img_con_enh img_con.enhance(factor1.5) # factor is from 0 to postive infinity
display(img_con_enh)d. 图像锐度增强
img_sha ImageEnhance.Sharpness(img)
img_sha_enh img_sha.enhance(factor1.5) # factor is from 0 to 2
display(img_sha_enh)5. 图像滤波 PIL 的 ImageFilter 模块提供了多种滤波操作如浮雕EMBOSS和轮廓CONTOUR等。
a. 图像滤波 - 浮雕
from PIL.ImageFilter import EMBOSS, CONTOURimg_1 img.filter(EMBOSS)
display(img_1)b. 图像滤波 - 轮廓
img_2 img.filter(CONTOUR)
display(img_2)