【Python】推荐五个常用的图像处理库

article/2025/3/28 6:30:01

1. 引言

Python目前是世界上使用最多的编程语言之一。它能够以更少的工作量和更少的代码行数来完成许多事情。它还可以使用很少的代码行来方便地编辑和创建图像。
本文重点介绍,在图像处理领域,我们最常使用的一些Python开源库。
闲话少说,我们直接开始吧!

2. Pillow库

Pillow是Python中常用的图像处理库之一。它提供了许多操作图像的函数,如调整大小、滤波操作等。这是Python中最好用的图像处理库之一。唯一的缺点是它已经很久没有更新了。
安装安库的命令如下:

pip install pillow

这里通过一个简单的代码片段来展示这个库是如何工作的。让我们使用Pillow来增加对比度,让深色图像变得更漂亮一些。
代码如下:

from PIL import Image,ImageEnhance
img_original = Image.open("dark.jpg")
img_original.show("Original Image")
img = ImageEnhance.Contrast(img_original)
img.enhance(3.8).show("Image With More Contrast")

运行效果如下:
在这里插入图片描述

3. Numpy库

NumPy代表Numerical Python。它是一个Python库,可以帮助我们处理所有类型的科学计算。NumPy是在执行任何类型的数据预处理或数据科学相关任务时导入的第一个库。此外,它还可以用来进行图像处理操作。
使用NumPy,我们可以轻松地操纵图像的RGB值。举例如下:

from PIL import Image
import numpy as np
img = np.array(Image.open('0.jpg'))
img_red = img.copy()
img_red[:, :, (1, 2)] = 0
img_green = img.copy()
img_green[:, :, (0, 2)] = 0
img_blue = img.copy()
img_blue[:, :, (0, 1)] = 0
img_ORGB = np.concatenate((img,img_red, img_green, img_blue), axis=1)
img_converted = Image.fromarray(img_ORGB)
img_converted.show() ## Combine Image Contains all four images

运行结果如下:
在这里插入图片描述

4. Scipy库

Scipy是Python中主要用于数学和科学计算的库,但同时它也可以用于处理多维图像。这是一个非常大的库,包含许多科学计算的工具。当使用Scipy库进行图像处理时,只需导入scipy.ndimage模块即可。

安装scipy库的命令如下:

pip install scipy

使用该库进行高斯模糊的样例代码如下:

from scipy import misc
import matplotlib.pyplot as plt
fig = plt.figure()
plt.gray()  # show the filtered result in grayscale
ax1 = fig.add_subplot(121)  # left side
ax2 = fig.add_subplot(122)  # right side
ascent = misc.ascent()
result = gaussian_filter(ascent, sigma=5)
ax1.imshow(ascent)
ax2.imshow(result)
plt.show()

运行结果如下:
在这里插入图片描述

5. Opencv库

OpenCV是最常用的一种图像处理库,可以方便地与网络摄像头、图像和视频进行交互。它可以执行多种实时任务,于2000年首次发布。它因其简单性和代码可读性而出名。目前,它主要用于计算机视觉任务,如人脸检测和识别、目标检测等。
安装该库的命令如下:

pip install opencv-python

使用该库,进行crop操作的样例如下:

import cv2
img = cv2.imread("images/test.jpg")
imgCropped = img[50:283,25:190]
shape = imgCropped.shape
print(shape[0])
imgCropped = cv2.resize(imgCropped,(shape[0]*12//10,shape[1]*2))
cv2.imshow("Image cropped",imgCropped)
cv2.imshow("Image",img)
cv2.waitKey(0)

运行结果如下:
在这里插入图片描述

6. Pgmagick库

Pgmagick是Python库中GraphicsMagick的补充,它提供了许多图像处理的功能,比如调整大小、旋转、锐化、渐变等操作。

安装pgmagick的命令如下:

pip install pgmagick

下面是使用该库进行缩放的样例代码:

from pgmagick.api import Image img = Image('fox.png') # scaling image up to 1.5x 
img.scale((150, 100), 'fox_scaled')

上述代码的运行结果如下:
在这里插入图片描述

7. 总结

本文重点介绍了在Python中进行图像处理的五个常用的开源库,这五个库功能强大,包含各式各样的图像处理函数,极大地提升了开发效率,推荐大家积极使用。

在这里插入图片描述
关注公众号《AI算法之道》,获取更多AI算法资讯。


http://chatgpt.dhexx.cn/article/0LerXucX.shtml

相关文章

python显示图片_python Image 模块处理图片

原标题:python Image 模块处理图片 Python-Image 基本的图像处理操作,有需要的朋友可以参考下。 Python 里面最常用的图像操作库是 Image library(PIL),功能上,虽然还不能跟Matlab比较,但是还是比较强大的,废话补多少,写点记录笔记。 1. 首先需要导入需要的图像库:…

python 之图像处理

1.对图像的处理 首先,对图像的处理需要提前安装第三方的PIL,可利用其对图像进行缩放、裁剪、旋转、色彩转换等一些处理工作。 举例一:设置一些图像的不同模式,open().convert(). convert中,可设置出“1”、“L”、“…

python 图片处理(pillow和OCR文字识别)

之前用过 c做opencv项目 这次用它做一下python opencv,图片截取固定像素: 仅仅记录一些步骤,知识点和踩坑。 环境: 安装要用: pip install opencv-python (后面使用pillow解决了,不学这个了)&…

python图片处理,自动生成gif动态图片

【粉丝福利】关注公众号,获取全套视频资料,使用第三方库pillow、将现有的图片,通过python自动合成gif动图,喜欢小编点个 ‘关注’ 吧! 安装依赖库 pip install Pillow导入依赖包 导入依赖包# 系统操作库import os# 图…

Python 图片处理(1) 如何增加亮度、如何添加颜色滤镜 、如何模糊图片(Pillow PIL)

文章目录 载入图片载入各种包载入图片 压缩图片滤镜增加明亮度RGB是什么增加明亮度 添加一个红色滤镜紫色滤镜 PIL模糊滤镜 载入图片 载入各种包 # import packages from PIL import Image from PIL import ImageFilter import numpy as np import numpy as np import pandas…

python图片处理(PIL)

1. 简单地读入图片、显示图片 from PIL import Image import matplotlib.pyplot as plt imgImage.open(background.jpg) plt.imshow(img) plt.show() 2. 对图像中像素点的预处理 1)获取图像尺寸 width,height 2)data是一个1D的list,长度是w…

超全Python图像处理讲解(多图预警)

文章目录 Pillow模块讲解一、Image模块1.1 、打开图片和显示图片1.2、创建一个简单的图像1.3、图像混合(1)透明度混合(2)遮罩混合 1.4、图像缩放(1)按像素缩放(2)按尺寸缩放 1.5、图…

查询oracle版本

select * from v$version; -- 查询oracle版本 select * from nls_database_parameters;

201921 oracle查看当前oracle版本及补丁版本

好久不写博客。。。 其实所有的写作,都是为了给自己备个档,给自己一次记忆,顺便,帮助了别人而已~ 所以,要多写~ 其实还有一个感悟,所有的知识来自于书本,这样才能成体系。 所有零散的技巧和知识…

查看oracle版本及补丁,Oracle 版本查看及版本号说明

select * from v$version; 结果如下: BANNER 1 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod 2 PL/SQL Release 10.2.0.1.0 - Production 3 CORE 10.2.0.1.0 Production 4 TNS for 32-bit Windows: Version 10.2.0.1.0 - Production 5 NLSRTL Version 1…

查询oracle 数据库版本

方式1:我也是在网上查询的,哈哈.自己做个总结

数学建模预测模型学习(一)——灰色预测模型

目录: 一、适用条件: 二、概念: 1、灰色系统: 2、灰色生成: 3、常见的灰生成方式: 三、GM(1,1)模型: 1、级比分析 2、GM(1,1) 四、总结 一、适用条件: &#x…

一文教你灰色预测模型到底怎么做

一、研究场景 灰色预测模型可针对数量非常少(比如仅4个),数据完整性和可靠性较低的数据序列进行有效预测,其利用微分方程来充分挖掘数据的本质,建模所需信息少,精度较高,运算简便,易…

预测模型(数学建模)

灰色系统 灰色预测是对既含有已知信息又含有不确定信息的系统进行预测,就是对在一定范围内变化的、与时间有关的灰色过程进行预测。灰色预测对原始数据进行生成处理来寻找系统变动的规律,并生成有较强规律性的数据序列,然后建立相应的微分方程…

【预测模型--常用度量指标】

一、MAE(Mean Absolute Error) 平均绝对误差MAE(MeanAbsolute Error),即误差绝对值的平均值,可以准确反映实际预测误差的大小。 MAE评估的是真实值和预测值的偏离程度,即预测误差的实际大小。 M…

matlab符号矩阵入门

由符号对象构成的矩阵为符号矩阵; 可利用sym()函数直接创建; 矩阵各元素可以为符号常量、符号变量或者符号表达式,各元素长度不要求一样; 示例如下;

matlab function 矩阵,急:Simulink MATLAB function 如何实现矩阵输出

MATLAB Function是一个模copy块,但是如果你bai输入的是一个向量,同du样也会输zhi出一个向量的。这个dao同m文件里面编程是一样的。MATLAB Function里面只能填写一个函数名称,无法编写m文件。如果你需要编写m文件的话,可以使用Embedded MATLAB…

MATLAB小知识(三)——输出矩阵到TXT

方法一:dlmwrite(验证可用) 版权声明:本文为CSDN博主「大芳同学」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/hengyaha/artic…

MATLAB基本操作与矩阵输入

文章目录 MATLAB简介一、MATLAB界面介绍二、基础知识1. 基本符号(Basic Symbol)2. 数据输出格式(Numeric Display "Format")3. 矩阵输入(Vector and Matrix)4. 实用小技巧(用于Command Window) 文…

MATLAB从入门到精通-MATLAB结构矩阵的输出

前言 在MATLAB数据处理的时候,数据通常存储在结构矩阵中,今天就给大家分享一下如何将结构矩阵中的内容完整地输出到命令行窗口中。 题目 本次讲解基于一道例题。 以下是我为大家准备的几个精品专栏,喜欢的小伙伴可自行订阅,你的支持就是我不断更新的动力哟! MATLAB-30…