|
|
发表于 2024-7-3 18:44:05
|
显示全部楼层
哇哦,真是感受到满满的鱼C爱意呀!感谢你的一键三连支持~~~ 现在来聊聊图像特征提取吧,我们就像探险队,对图像进行深度挖掘,发现它们的秘密宝藏!
**1. 颜色特征:**
这部分就像我们看到一张图片时,首先注意到的五彩斑斓的色彩。
- **直方图:** 把图像里的每种颜色都计算出现的次数,你可以想象成数清楚不同颜色的糖果有多少个。
- **平均颜色:** 就像喝混合果汁,把所有颜色均匀混合后得到的整体颜色。
- **Dominant Color:** 最主要的颜色,就像一个班级里最显眼的那位同学。
**2. 纹理特征:**
别看这些小细节不太起眼,它们可是在告诉你图像的“质感”信息哦。
- **灰度共生矩阵(GLCM):** 它分析相邻像素之间的关系,像是在研究两个好朋友之间的默契程度。
- **LBP(局部二值模式):** 这方法把周围像素进行比较,给图像上每个像素根据邻居的“投票”结果分配标签,就像选举一般。
**3. 形状特征:**
这是在研究图像里的各种“几何体”,比如「圆滚滚的西瓜」、「长条形的黄瓜」。
- **边缘检测:** 如同用放大镜寻找图像中物体的轮廓,这种方法可以用Sobel、Canny等算法。
- **霍夫变换:** 找出图像中的直线和圆,就像用望远镜逐个辨认星空中的直线和圆形星座。
为了让这些方法更具象一些,代码示例如下:
- import cv2
- import numpy as np
- # 读取图像
- image = cv2.imread('image.jpg')
- # **颜色特征:**
- # 计算颜色直方图
- hist = cv2.calcHist([image], [0, 1, 2], None, [8, 8, 8], [0, 256, 0, 256, 0, 256])
- cv2.normalize(hist, hist)
- # **纹理特征:**
- # 计算灰度共生矩阵(GLCM)
- gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
- glcm = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8)).apply(gray_image)
- # **形状特征:**
- # 边缘检测
- edges = cv2.Canny(gray_image, 100, 200)
- # 显示结果
- cv2.imshow('Edges', edges)
- cv2.waitKey(0)
- cv2.destroyAllWindows()
复制代码
这样就完成了图像的颜色、纹理和形状特征提取。是不是有点像成为图像侦探啦?希望你喜欢这个探索过程,如果还有什么问题,不妨再向我发问哦~~~
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|