️图像处理与计算机视觉
基础图像处理
- Pillow (PIL Fork) – 最常用的图像处理库
from PIL import Image, ImageFilter
# 基本操作
img = Image.open('image.jpg')
img.rotate(45).save('rotated.jpg')
OpenCV (cv2) – 计算机视觉全能库
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 边缘检测
edges = cv2.Canny(img, 100, 200)
scikit-image – 科学图像处理
from skimage import filters, color
# 转换为灰度并检测边缘
gray = color.rgb2gray(image)
edges = filters.sobel(gray)
高级图像处理
- Mahotas – 计算机视觉和图像处理
- SimpleITK – 医学图像分析
- Pydicom – DICOM医学图像处理
- imageio – 多种格式图像读写
深度学习图像处理
- torchvision (PyTorch图像工具)
from torchvision import transforms, models
# 图像变换
transform = transforms.Compose([
transforms.Resize(256),
transforms.ToTensor(),
])
- KerasCV (TensorFlow图像处理)
- albumentations – 图像增强库
import albumentations as A
transform = A.Compose([
A.RandomCrop(256, 256),
A.HorizontalFlip(p=0.5),
A.RandomBrightnessContrast(p=0.2),
])
图像可视化与标注
- matplotlib – 基本图像显示
import matplotlib.pyplot as plt
plt.imshow(image)
plt.show()
- plotly – 交互式图像显示
- labelme – 图像标注工具
- CVAT – 计算机视觉标注工具
语音处理与音频分析
基础音频处理
- librosa – 音乐和音频分析
import librosa
# 加载音频
y, sr = librosa.load('audio.wav')
# 提取MFCC特征
mfcc = librosa.feature.mfcc(y=y, sr=sr)
pydub – 简单音频操作
from pydub import AudioSegment
# 音频文件操作
sound = AudioSegment.from_mp3("audio.mp3")
sound = sound[:30000] # 取前30秒
scipy.io.wavfile – WAV文件读写
from scipy.io import wavfile
# 读写WAV文件
samplerate, data = wavfile.read('audio.wav')
wavfile.write('output.wav', samplerate, data)
语音识别
- SpeechRecognition – 多引擎语音识别
import speech_recognition as sr
r = sr.Recognizer()
with sr.AudioFile('audio.wav') as source:
audio = r.record(source)
text = r.recognize_google(audio, language='zh-CN')
Vosk – 离线语音识别
from vosk import Model, KaldiRecognizer
model = Model("model")
rec = KaldiRecognizer(model, 16000)
Whisper (OpenAI) – 高质量语音识别
import whisper
model = whisper.load_model("base")
result = model.transcribe("audio.mp3"
语音合成
- pyttsx3 – 离线文本转语音
import pyttsx3
engine = pyttsx3.init()
engine.say("你好,世界!")
engine.runAndWait()
gTTS (Google Text-to-Speech)
from gtts import gTTS
tts = gTTS('你好,世界!', lang='zh-cn')
tts.save('hello.mp3')
import edge_tts
communicate = edge_tts.Communicate("你好,世界!", "zh-CN-XiaoxiaoNeural")
await communicate.save("hello.mp3")
深度学习的语音处理
- torchaudio (PyTorch音频处理)
import torchaudio
# 加载音频
waveform, sample_rate = torchaudio.load('audio.wav')
# 提取特征
mfcc = torchaudio.transforms.MFCC()(waveform)
- ESPnet – 端到端语音处理工具包
- DeepSpeech – Mozilla语音识别
- wav2vec – Facebook语音表明学习
音频信号处理
- pyaudio – 音频录制和播放
- import pyaudio p = pyaudio.PyAudio() stream = p.open(format=pyaudio.paInt16, channels=1, rate=44100, input=True)
- soundfile – 音频文件读写
- audiomentations – 音频增强
- pyAudioAnalysis – 音频特征提取
热门应用场景及工具包
图像处理应用
人脸识别:
- face_recognition
- deepface
- insightface
图像生成:
- Stable Diffusion (diffusers)
- DALL-E API
- Midjourney API
文档处理:
- pytesseract (OCR文字识别)
- pdf2image (PDF转图像)
- camelot (PDF表格提取)
视频处理:
- moviepy (视频编辑)
- imageio-ffmpeg (视频读写)
- decord (高效视频读取)
语音处理应用
- 语音助手开发:
- Rhasspy (离线语音助手)
- Mycroft
- Jasper
- 语音情感分析:
- opensmile
- pyAudioAnalysis
- 音乐信息检索:
- essentia
- madmom (音乐分析)
- 实时语音处理:
- sounddevice
- webrtcvad (语音活动检测)
学习路径提议
图像处理学习路径
- 入门:Pillow → 基础图像操作
- 进阶:OpenCV → 计算机视觉算法
- 专业:PyTorch/TensorFlow → 深度学习视觉
- 应用:根据需求选择专业库
语音处理学习路径
- 入门:pydub → 基础音频操作
- 进阶:librosa → 音频特征提取
- 专业:语音识别/合成库 → 具体应用
- 研究:深度学习语音模型
综合项目示例
图像+语音的完整应用
# 智能相册:自动识别照片并生成语音描述
import cv2
import pytesseract
from gtts import gTTS
from PIL import Image
# 1. 文字识别(图像)
image = Image.open('photo_with_text.jpg')
text = pytesseract.image_to_string(image, lang='chi_sim')
# 2. 语音合成
if text.strip():
tts = gTTS(text, lang='zh-cn')
tts.save('description.mp3')
安装提议
图像处理核心安装
# 基础图像处理
pip install pillow opencv-python scikit-image
# 深度学习相关
pip install torch torchvision
pip install tensorflow keras-cv
# 可选工具
pip install albumentations imageio
语音处理核心安装
# 基础音频处理
pip install librosa pydub
# 语音识别
pip install SpeechRecognition vosk
# 语音合成
pip install pyttsx3 gTTS edge-tts
# 深度学习音频
pip install torchaudio
⚠️注意事项
- OpenCV安装:使用 opencv-python 而非 cv2
- 音频处理依赖:可能需要安装系统依赖(如ffmpeg)
- 语音识别模型:部分库需要单独下载模型文件
- 版本兼容性:注意Python版本与包的兼容性
项目提议
- 图像:从图片滤镜开始,逐步尝试人脸识别、物体检测
- 语音:从音频文件处理开始,逐步尝试语音识别、语音合成
- 综合:尝试将图像和语音结合(如:图片转语音描述)
这些包涵盖了图像和语音处理的各个方面,根据具体需求选择合适的工具组合!
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END














暂无评论内容