特征提取技术实例

以下是一些简单的特征提取算法的Python代码示例:

1. 边缘检测(Sobel算子)

python 复制代码
import cv2
import numpy as np
# 读取图像
image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)
# 使用Sobel算子进行边缘检测
sobel_x = cv2.Sobel(image, cv2.CV_64F, 1, 0)
sobel_y = cv2.Sobel(image, cv2.CV_64F, 0, 1)
# 计算梯度的幅度
gradient_magnitude = np.sqrt(sobel_x**2 + sobel_y**2)
# 展示结果
cv2.imshow('Sobel Edge Detection', gradient_magnitude)
cv2.waitKey(0)
cv2.destroyAllWindows()

2. 颜色直方图

python 复制代码
import cv2
import numpy as np
# 读取图像
image = cv2.imread('image.jpg')
# 转换到HSV空间
hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
# 定义HSV中蓝色的范围
blue_lower = np.array([110,50,50])
blue_upper = np.array([130,255,255])
# 设置HSV的阈值使得只有蓝色的部分显示
mask = cv2.inRange(hsv_image, blue_lower, blue_upper)
# 展示结果
cv2.imshow('Color Histogram', mask)
cv2.waitKey(0)
cv2.destroyAllWindows()

3. 局部二值模式(LBP)

python 复制代码
import cv2
import numpy as np
# 读取图像
image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)
# 使用LBP算法
radius = 3
points = 8
lbp_image = cv2.circle(image, (radius, radius), radius, 1, -1)
lbp_result = cv2.circle(image.copy(), (radius, radius), radius, 0, -1)
# 展示结果
cv2.imshow('LBP', lbp_result)
cv2.waitKey(0)
cv2.destroyAllWindows()

4. HOG特征提取

python 复制代码
import cv2
import numpy as np
# 读取图像
image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)
# 创建HOG描述符对象
winSize = (64, 128)
blockSize = (16, 16)
blockStride = (8, 8)
cellSize = (8, 8)
hog = cv2.HOGDescriptor(winSize, blockSize, blockStride, cellSize, 9)
# 计算HOG特征
hog_features = hog.compute(image)
# 展示结果(转换为图像)
hog_image = cv2.normalize(hog_features, None, 0, 255, cv2.NORM_MINMAX)
hog_image = hog_image.astype('uint8')
cv2.imshow('HOG Features', hog_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

请注意,这些代码示例使用了OpenCV库,因此您需要先安装OpenCV才能运行这些代码。您可以通过pip安装OpenCV:

bash 复制代码
pip install opencv-python

这些示例仅用于教学目的,实际应用中可能需要更复杂的设置和优化。

相关推荐
suaizai_7 小时前
多智能体架构揭秘:从混乱到高效
人工智能
yyk333247 小时前
深度学习中的调整学习率
深度学习
一切皆是因缘际会7 小时前
物质计算机:计算即物理,安全即拓扑
人工智能·ai·计算机架构·计算机系统架构
AIGCmagic社区7 小时前
DeepSeek-V4.1-Flash 技术报告:输入激活 8B、KV 缓存每 token 890 字节
人工智能·aigc·ai多模态
AI推荐率8 小时前
GEO发稿套餐中的媒体更换,是否可能产生补差价?
人工智能
user_admin_god8 小时前
第 09 篇:实践一 —— 文本摘要(Map-Reduce 分块)
java·人工智能·spring boot·语言模型
Behaviour8 小时前
豆包手机助手消费者版发布:首款量产 AI 智能体手机 9 月 16 日开售
人工智能·语言模型·aigc·ai编程
prog_61038 小时前
【笔记】用agent手搓agent(一)
人工智能·llm·大语言模型·agent
程序猿编码8 小时前
扔掉 Python!纯 C++ 本地跑扩散 TTS,GGML 加持,支持 RK3588 NPU 加速
c++·计算机视觉·大模型·transformer·rk3588·推理·ggml
三声三视8 小时前
一个卡片入场动画我返工 4 次:tri-lottie 规格单落地到 ArkTS 的踩坑记录
人工智能·ai·skillhub·tri-skills·tri-lottie