机器学习-图像特征

机器学习中的图像特征是从图像数据中提取的关键信息,用于描述图像的某些方面。这些特征对于训练机器学习模型来说至关重要,因为它们可以捕捉图像的结构、模式和关键信息,从而帮助模型学习和做出预测。以下是有关机器学习中图像特征的一些重要总结:

1.颜色特征:
2.颜色直方图: 描述图像中每个颜色的分布情况。
3.颜色平均值: 计算图像中各通道的平均颜色值。
4.颜色矩: 使用颜色值的矩来表示图像的颜色特征。

5.纹理特征:
6.灰度共生矩阵(GLCM): 描述图像中像素灰度级别之间的空间关系。
7.局部二值模式(LBP): 用于捕捉图像中像素点与其邻域的纹理模式。

8.形状特征:
9.边缘检测: 使用算子如Sobel、Canny等来检测图像中的边缘。
10.轮廓特征: 描述图像中对象的轮廓形状。

11.空间特征:
12.尺度不变特征变换(SIFT): 在不同尺度上检测关键点。
13.方向梯度直方图(HOG): 用于检测图像中的对象边缘和纹理。

14.深度学习中的特征提取:
15.卷积神经网络(CNN): 使用卷积层来自动提取图像中的特征。
16.预训练模型: 利用在大规模图像数据上训练的模型(如ImageNet上的预训练模型)提取通用特征。

17.局部特征和全局特征:

18.局部特征: 关注图像中的局部信息,如关键点、角点等。
19.全局特征: 考虑整个图像的信息,如整体颜色分布、形状等。

20.特征选择和降维:

21.主成分分析(PCA): 通过线性变换将特征投影到主成分上,以减少特征的维度。
22.特征选择算法: 选择对任务最有用的特征,减少冗余信息。

总体而言,图像特征的选择取决于任务的性质和数据的特点。在训练机器学习模型时,合适的特征提取和选择对于模型性能的提升至关重要。深度学习技术的发展也使得模型能够自动学习更高级别的特征。

import skimage
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from skimage import io

# 这部分使用 skimage 库中的函数加载两个图像(cat 和 dog)。
cat = io.imread('./datasets/cat.png')
dog = io.imread('./datasets/dog.png')
# 它在“Image”列下创建一个包含两行(“Cat”和“Dog”)的 DataFrame。
df = pd.DataFrame(['Cat', 'Dog'], columns=['Image'])
print(cat.shape, dog.shape)

#本节创建一个具有两个子图的图形。
# 它在第一个子图中显示猫图像,在第二个子图中显示狗图像。
fig = plt.figure(figsize = (8,4))
ax1 = fig.add_subplot(1,2, 1)
ax1.imshow(cat)
ax2 = fig.add_subplot(1,2, 2)
ax2.imshow(dog)

# 这部分创建狗图像的三个副本 (, , ),每个副本代表一个 RGB 通道。
# 它将其他两个通道中的像素值设置为零,从而有效地隔离每个通道。
dog_r = dog.copy() # Red Channel
dog_r[:,:,1] = dog_r[:,:,2] = 0 # set G,B pixels = 0

dog_g = dog.copy()# Green Channel
dog_g[:,:,0] = dog_g[:,:,2] = 0  # set R,B pixels = 0

dog_b = dog.copy() # Blue Channel
dog_b[:,:,0] = dog_b[:,:,1] = 0 # set R,G pixels = 0

# 连接RGB通道并显示:
# 它将红色、绿色和蓝色通道水平连接成一个图像 ()。
# 它显示串联的图像。
plot_image = np.concatenate((dog_r, dog_g, dog_b), axis=1)
plt.figure(figsize = (10,4))
plt.imshow(plot_image)

# 灰度图
from skimage.color import rgb2gray
# 转换为灰度并显示:
# 将猫和狗图像转换为灰度
cgs = rgb2gray(cat)
dgs = rgb2gray(dog)

# 显示灰度图像
fig = plt.figure(figsize=(8, 4))
ax1 = fig.add_subplot(2, 2, 1)
ax1.imshow(cgs, cmap="gray")
ax2 = fig.add_subplot(2, 2, 2)
ax2.imshow(dgs, cmap='gray')

plt.show()
  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值