欢迎访问宙启技术站
智能推送

Python图像处理函数汇总:让你处理图片游刃有余

发布时间:2023-05-27 19:25:58

Python是一种强大的编程语言,它提供了大量的图像处理函数,让你能够轻松处理各种图像。在本文中,我们将为你详细介绍Python的图像处理函数,并且会附带实例来帮助你更好地了解这些函数。

1、PIL(Python Imaging Library)

PIL是Python中 的图像处理库之一,它支持广泛的图像格式,并提供了一系列的图像处理函数。它可以用于缩放、裁剪、旋转、翻转图像、添加文本等等。以下是一些常用的PIL函数:

- Image.open()- 打开指定的图像文件

from PIL import Image
image = Image.open('example.png')

- Image.resize()- 重新调整图像大小

image = Image.resize((200, 200))

- Image.crop()- 裁剪图像

image = Image.crop((left, top, right, bottom))

- Image.rotate()- 旋转图像

image = Image.rotate(90)

- Image.transpose() - 翻转图像

image = Image.transpose(Image.FLIP_LEFT_RIGHT)

- ImageFilter - 图像滤波器,可以用来模糊、锐化、边缘检测等等

from PIL import ImageFilter
image = image.filter(ImageFilter.BLUR)

- ImageDraw - 绘制图像,可以用来添加文本、绘制线条、矩形、椭圆等等

from PIL import ImageDraw
draw = ImageDraw.Draw(image)
draw.text((10,10), "Hello", fill=(255, 255, 255))

2、OpenCV(Open Source Computer Vision Library)

OpenCV是另一个非常流行的图像处理库,主要用于计算机视觉应用,如图像识别、人脸识别等等。以下是一些常用的OpenCV函数:

- cv2.imread()- 打开指定的图像文件

import cv2
image = cv2.imread('example.png')

- cv2.resize()- 重新调整图像大小

image = cv2.resize(image, (200, 200))

- cv2.flip()- 翻转图像

image = cv2.flip(image, 1)

- cv2.rotate()- 旋转图像

image = cv2.rotate(image, cv2.ROTATE_90_CLOCKWISE)

- cv2.imwrite()- 保存图像

cv2.imwrite('example.png', image)

- cv2.rectangle()- 绘制矩形

cv2.rectangle(image, (x1, y1), (x2, y2), (0, 0, 255), 2)

- cv2.putText()- 添加文本

cv2.putText(image, 'Hello', (10, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2)

3、Scikit-Image

Scikit-Image是一个开源的图像处理库,提供了大量的图像处理函数,如图像处理、图像分割、特征提取等等。以下是一些Scikit-Image的常用函数:

- skimage.io.imread()- 打开指定的图像文件

import skimage.io
image = skimage.io.imread('example.png')

- skimage.transform.resize()- 重新调整图像大小

image = skimage.transform.resize(image, (200, 200))

- skimage.transform.rotate()- 旋转图像

image = skimage.transform.rotate(image, 90)

- skimage.color.rgb2gray()- 将RGB图像转换为灰度图像

image = skimage.color.rgb2gray(image)

- skimage.filters.gaussian()- 高斯滤波

image = skimage.filters.gaussian(image, sigma=2)

- skimage.draw.rectangle()- 绘制矩形

rr, cc = skimage.draw.rectangle((10, 10), (100, 100))
image[rr, cc] = [255, 0, 0]

- skimage.feature.canny()- 边缘检测

edges = skimage.feature.canny(image)

总结:

本文介绍了Python中 的图像处理库,如PIL、OpenCV、Scikit-Image,并提供了一些常用的图像处理函数,如调整图像大小、裁剪、翻转、旋转、滤波、绘制、边缘检测等等。通过使用这些函数,你可以轻松处理各种图像并实现你的图像处理需求。