成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python 處理圖片的十個庫

開發
今天一起來聊一聊Python 處理圖片的十個庫。

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', fnotallow=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()
責任編輯:華軒 來源: 測試開發學習交流
相關推薦

2023-06-27 15:50:23

Python圖像處理

2024-02-01 12:53:00

PandasPython數據

2024-05-23 11:53:24

Python代碼異常處理

2023-10-07 11:36:15

2024-01-30 00:36:41

Python機器學習

2024-02-20 14:25:39

Python數據分析

2024-10-15 10:40:09

2023-10-16 07:55:15

JavaScript對象技巧

2020-06-14 14:51:27

Java數據開發

2024-12-03 14:33:42

Python遞歸編程

2021-10-22 09:09:27

Python圖像處理工具編程語言

2025-02-20 10:13:54

2023-02-14 08:10:14

Python人工智能XAI

2024-09-23 16:49:32

2022-04-24 10:12:25

Python軟件包代碼

2024-05-28 14:36:00

Python開發

2024-07-18 15:08:27

2023-03-27 23:37:21

2024-05-13 11:43:39

Python數據分析CSV

2023-03-24 16:41:36

Pandas技巧數據處理
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 三级视频网站 | 色综合久久天天综合网 | 精品国产不卡一区二区三区 | 精品视频久久久 | 久久久免费毛片 | 亚洲精品视频二区 | 欧美日韩亚洲国产综合 | 夜夜爽99久久国产综合精品女不卡 | 97视频网站 | 高清久久久 | 久久久久国产精品人 | 狠狠天天| 亚洲一区精品在线 | 国产日韩欧美精品一区二区三区 | 国产伦精品一区二区三区精品视频 | 免费精品久久久久久中文字幕 | 在线a视频网站 | 久久r精品 | 一本色道久久综合亚洲精品高清 | 免费v片| 日韩成人免费视频 | 午夜影院在线观看 | 欧美黄a| 亚州一区二区三区 | 羞羞色网站 | 欧美久| 国产精品久久久久久久久 | 人人擦人人 | 亚洲一区免费 | 日韩精品在线免费观看视频 | 在线亚洲人成电影网站色www | 日韩成人精品视频 | 一级片免费网站 | 精品一区二区三区在线观看 | 色久影院 | 九一在线观看 | 91视频一88av| 亚洲一区视频 | 日本不卡在线视频 | 伊人欧美视频 | 一级a性色生活片久久毛片 午夜精品在线观看 |