特征提取技术实例

以下是一些简单的特征提取算法的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

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

相关推荐
aircrushin5 小时前
三分钟说清楚 ReAct Agent 的技术实现
人工智能
WangYaolove13146 小时前
基于深度学习的中文情感分析系统(源码+文档)
python·深度学习·django·毕业设计·源码
技术狂人1686 小时前
工业大模型工程化部署实战!4 卡 L40S 高可用集群(动态资源调度 + 监控告警 + 国产化适配)
人工智能·算法·面试·职场和发展·vllm
软件算法开发6 小时前
基于改进麻雀优化的LSTM深度学习网络模型(ASFSSA-LSTM)的一维时间序列预测算法matlab仿真
深度学习·matlab·lstm·一维时间序列预测·改进麻雀优化·asfssa-lstm
好奇龙猫6 小时前
【人工智能学习-AI入试相关题目练习-第三次】
人工智能
柳杉7 小时前
建议收藏 | 2026年AI工具封神榜:从Sora到混元3D,生产力彻底爆发
前端·人工智能·后端
狮子座明仔7 小时前
Engram:DeepSeek提出条件记忆模块,“查算分离“架构开启LLM稀疏性新维度
人工智能·深度学习·语言模型·自然语言处理·架构·记忆
阿湯哥7 小时前
AgentScope Java 集成 Spring AI Alibaba Workflow 完整指南
java·人工智能·spring
Java中文社群8 小时前
保姆级喂饭教程:什么是Skills?如何用Skills?
人工智能