成人免费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-05-23 11:53:24

Python代碼異常處理

2024-02-01 12:53:00

PandasPython數據

2023-10-07 11:36:15

2023-10-16 07:55:15

JavaScript對象技巧

2020-06-14 14:51:27

Java數據開發

2024-01-30 00:36:41

Python機器學習

2024-10-15 10:40:09

2024-02-20 14:25:39

Python數據分析

2023-02-14 08:10:14

Python人工智能XAI

2025-02-20 10:13:54

2024-09-23 16:49:32

2023-03-27 23:37:21

2024-12-03 14:33:42

Python遞歸編程

2024-05-13 11:43:39

Python數據分析CSV

2021-10-22 09:09:27

Python圖像處理工具編程語言

2022-04-24 10:12:25

Python軟件包代碼

2024-05-28 14:36:00

Python開發

2024-07-18 15:08:27

2024-10-10 15:04:34

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久精品网站 | 99精品视频一区二区三区 | 成人视屏在线观看 | 爱综合| 日韩综合在线 | 欧美电影在线 | 一区二区高清不卡 | 一区| 黄色一级毛片 | 亚洲精品一区中文字幕乱码 | 欧美精品中文 | 黄色一级视频 | 最新国产精品视频 | 国产精品毛片一区二区三区 | 欧美日韩一区二区三区四区 | 精产国产伦理一二三区 | 97免费视频在线观看 | 色偷偷人人澡人人爽人人模 | 久久综合狠狠综合久久综合88 | 成人在线小视频 | 天天操人人干 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | 日韩精品一区二区久久 | 亚洲深夜福利 | 一区二区三区中文字幕 | 怡红院成人在线视频 | 色婷婷综合久久久久中文一区二区 | 99成人| 国产精品视频久久 | 在线免费观看色 | 亚洲综合激情 | 国产精品入口 | 国产精品揄拍一区二区久久国内亚洲精 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 国产精品久久久久无码av | 久久精品一区二区三区四区 | 国产中文在线 | 国产成人在线播放 | 91色在线视频 | 日韩高清国产一区在线 | 深夜爽视频 |