python 处理图片的10个库(非常详细)零基础入门到精通,收藏这一篇就够了

206 篇文章 1 订阅
205 篇文章 1 订阅

Matplotlib

类型: 数据可视化库

功能: 创建线图、柱状图、散点图、直方图、饼图等多种静态图表,支持子图布局、色彩映射、图例、注解等高级定制。

适用场景: 科研论文、报告、数据分析展示。

import matplotlib.pyplot as plt``import numpy as np``x = np.linspace(0, 2 * np.pi, 400)``y = np.sin(x ** 2)``plt.figure(figsize=(8, 6))``plt.plot(x, y)``plt.title('Sine of Squared X')``plt.xlabel('X', fontsize=14)``plt.ylabel('Y', fontsize=14)``plt.grid(True)``plt.show()

PIL/Pillow

类型: 图像处理库

功能: 打开、修改、保存多种格式的图像文件,支持像素级操作、裁剪、旋转、缩放、颜色空间转换、滤镜应用等。

适用场景: 基本图像编辑、批处理、Web开发中的图像预处理。

from PIL import Image, ImageDraw, ImageFont``# 创建一个空白图像``img = Image.new('RGB', (500, 300), color='white')``# 创建绘图对象``draw = ImageDraw.Draw(img)``# 写入文字``font = ImageFont.truetype('arial.ttf', size=50)``text = "Hello, World!"``text_width, text_height = font.getsize(text)``draw.text((img.width // 2 - text_width // 2, img.height // 2 - text_height // 2), text=text, fill='black', font=font)``# 保存图像``img.save('hello_world.png')

字体下载链接:https://font.chinaz.com/120308013581.htm

NumPy

类型: 数值计算库

功能: 提供高效的多维数组对象(ndarray),是处理图像数据的基础。图像通常被表示为NumPy数组,便于进行数学运算和算法处理。

适用场景: 图像数据的基本操作、与图像处理库配合使用。

import numpy as np``import matplotlib.pyplot as plt``# 创建一个5x5的随机数组``img_array = np.random.randint(0, 256, size=(5, 5), dtype=np.uint8)``# 显示数组作为灰度图像``plt.imshow(img_array, cmap='gray')``plt.colorbar()``plt.title('Random 5x5 Image Array')``plt.show()

scikit-image (skimage)

类型: 计算机视觉库

功能: 提供大量图像处理算法,包括滤波、边缘检测、形态学操作、图像分割、特征提取、色彩空间转换等。

适用场景: 学术研究、工业应用中的图像分析与处理。

from skimage import io``from skimage.filters import sobel``from matplotlib import pyplot as plt``   ``# 读取图像``image = io.imread('example.jpg', as_gray=True)# 替换成需要处理的图片``# 应用 Sobel 边缘检测``edges = sobel(image)``# 显示原图和边缘检测结果``fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(10, 5))``ax[0].imshow(image, cmap='gray')``ax[0].set_title('Original Image')``ax[1].imshow(edges, cmap='gray')``ax[1].set_title('Sobel Edge Detection')``plt.tight_layout()``plt.show()

OpenCV

类型: 计算机视觉库

功能: 高性能的图像与视频处理、物体检测与识别、跟踪、立体视觉、机器学习算法等。

适用场景: 实时视频处理、复杂图像分析、深度学习应用。

import cv2``import numpy as np``# 读取图像``image = cv2.imread('example.jpg')``# 转为灰度图像``gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)``# 应用Canny边缘检测``edges = cv2.Canny(gray, threshold1=100, threshold2=200)``# 显示原图和边缘检测结果``cv2.imshow('Original Image', image)``cv2.imshow('Canny Edge Detection', edges)``cv2.waitKey(0)``cv2.destroyAllWindows()

Seaborn

类型: 数据可视化库(基于Matplotlib)

功能: 提供更美观、更高级的数据可视化接口,专注于统计图形,如热图、箱线图、小提琴图、联合分布图等。

适用场景: 数据探索性分析、统计报告、交互式可视化。

import seaborn as sns``import pandas as pd``import numpy as np``from matplotlib import pyplot as plt``   ``# 创建模拟数据``data = pd.DataFrame({'x': np.random.normal(size=100),`                     `'y': np.random.normal(size=100),`                     `'class': np.repeat(['A', 'B'], 50)})``# 绘制散点图并按类别着色``sns.scatterplot(data=data, x='x', y='y', hue='class', palette=['red', 'blue'])``plt.title('Seaborn Scatterplot with Class Coloring')``plt.show()

Plotly

类型: 数据可视化库

功能: 创建交互式图表,支持Web浏览器展示,包括2D/3D图表、地图、仪表盘等,可导出为HTML或嵌入到Web应用程序中。

适用场景: Web应用的数据可视化、在线报告、动态交互式图表。

import plotly.graph_objs as go``import numpy as np``# 创建数据``t = np.linspace(0, 2 * np.pi, 100)``x = np.cos(t)``y = np.sin(t)``# 构建 Plotly 图表对象``fig = go.Figure(data=[go.Scatter(x=t, y=x, name='Cosine'),`                       `go.Scatter(x=t, y=y, name='Sine')])``# 设置图表属性``fig.update_layout(title='Plotly Interactive Plot',`                  `xaxis_title='Time',`                  `yaxis_title='Value')``# 显示图表``fig.show()

Bokeh

类型: 数据可视化库

功能: 制作高性能交互式图表,支持大型数据集,输出为HTML,可在现代Web浏览器中展示,提供丰富的用户交互和实时更新能力。

适用场景: 大数据可视化、Web应用程序中的实时数据流展示、仪表盘构建。

from bokeh.plotting import figure, show``from bokeh.io import output_notebook``import numpy as np``output_notebook()``t = np.linspace(0, 2*np.pi, ¼00)``x = np.cos(t)``y = np.sin(t)``p = figure(title="Bokeh Interactive Plot", plot_width=600, plot_height=400)``p.line(t, x, legend_label="cosine", line_width=2)``p.line(t, y, legend_label="sine", line_color="orange", line_width=2)``show(p)

Pycairo

类型: 矢量图形库绑定

功能: 通过Python接口调用Cairo库进行矢量图形绘制,支持SVG、PDF、PostScript等格式输出,保持图像无损缩放。

适用场景: 创建高质量的矢量图形、图标设计、打印出版物。

import cairo``surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 200, 200)``ctx = cairo.Context(surface)``ctx.set_source_rgb(1, 1, 1)  # Set background color to white``ctx.rectangle(0, 0, surface.get_width(), surface.get_height())``ctx.fill()``ctx.set_source_rgb(0, 0, 0)  # Set drawing color to black``ctx.select_font_face("Sans")``ctx.set_font_size(32)``ctx.move_to(50, ½0)``ctx.show_text("Hello, Pycairo!")``surface.write_to_png('hello_pycairo.png')

SimpleCV

类型: 计算机视觉库(封装了OpenCV、PIL、NumPy)

功能: 提供易用的API,简化计算机视觉任务,如图像获取、预处理、特征检测、物体识别等。

适用场景: 初学者快速上手计算机视觉项目、教育和原型开发。

from SimpleCV import Camera, Display``# 初始化摄像头``cam = Camera()``# 创建显示窗口``disp = Display()``while True:`    `# 获取一帧图像`    `img = cam.getImage()`    `# 对图像进行灰度处理`    `gray_img = img.grayscale()`    `# 在窗口中显示图像`    `gray_img.show(disp)`    `# 检查是否有按键事件(如'q'键按下退出循环)`    `if disp.isDone():`        `break``disp.destroy()

为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

[2024最新CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享]


在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

[2024最新CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享]
在这里插入图片描述

在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

[2024最新CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享]

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你是零基础入门Python,我建议你按照以下学习路线进行学习。首先,你可以通过参考中提供的详细教程来系统学习Python的基础知识。该教程从Python基础、文件操作、函数等方面进行了讲解。你可以下载并安装Pycharm软件,通过实践来巩固学习的知识。 学习路线: 1. 学习Python的基本语法和编程概念,包括变量、数据类型、注释等。 2. 了解Python的函数,包括函数的使用、参数、闭包、装饰器等。 3. 学习Python的模块,了解模块的概念和使用,如logging、json、pickle、time等。 4. 学习Python的常用技术点,包括处理文件、正则表达式、网络编程、多线程等。你可以参考中提供的学习资源找到对应的学习材料。 5. 深入学习更高级的Python知识,如面向对象编程、数据操作、Web开发等。 在学习过程中,你可以使用Pycharm等开发工具来实践编程,加深对Python的理解和掌握。此外,也可以参考中提供的Python学习资料,找到适合自己的学习资源。 通过系统的学习和实践,你可以逐步提高自己的Python编程水平,从零基础入门到掌握Python编程技能。祝你学习顺利!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [python零基础入门教程(非常详细),从零基础入门精通,看完这一篇就够了](https://blog.csdn.net/xiangxueerfei/article/details/128148510)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值