python计算机视觉——第八章 图像内容分类

本章介绍图像分类和图像内容分类算法。

8.1 K邻近分类法(KNN)

KNN(K-Nearest Neighbor ,K邻近分类法),把要分类的对象(例如一个特征向量)与训练集中已知类标记的所有对象进行对比,并由k近邻对指派到哪个类进行投票。这种方法通常分类效

果较好,但是也有很多弊端:与K-means 聚类算法一样,需要预先设定k 值,k 值的选择会影响分类的性能;此外,这种方法要求将整个训练集存储起来,如果训练集非常大,搜索起来就非常慢。

将定义的类对象添加到名为knn.py 的文件里:

复制代码
class KnnClassifier(object):
    def __init__(self,labels,samples):
        """ 使用训练数据初始化分类器"""
        self.labels = labels
        self.samples = samples

    def classify(self,point,k=3):
        """ 在训练数据上采用k 近邻分类,并返回标记"""
        # 计算所有训练数据点的距离
        dist = array([L2dist(point,s) for s in self.samples])
        # 对它们进行排序
        ndx = dist.argsort()
        # 用字典存储k 近邻
        votes = {}
        for i in range(k):
            label = self.labels[ndx[i]]
            votes.setdefault(label,0)
            votes[label] += 1

        return max(votes)
    
    def L2dist(p1,p2):
        return sqrt( sum( (p1-p2)**2) )
相关推荐
乐迪信息15 小时前
港口船舶逆行怎么管?AI防爆摄像机搭载智能检测算法
大数据·人工智能·深度学习·算法·计算机视觉
xailorliu18 小时前
SLIC_超像素算法
c++·opencv·目标检测·机器学习·计算机视觉
一木 之林18 小时前
Stable Diffusion 详解:潜空间扩散原理、三件套分工与 diffusers 文生图实战
人工智能·计算机视觉·stable diffusion
shoufeipin90hou21 小时前
光选机的“除尘与风选“配套边界:分选精度上不去,可能问题不在相机
数码相机·计算机视觉
tuanxiang1 天前
实现文本AI检测免费自建方案,绕开接口调用收费坑
人工智能·计算机视觉
原子延迟1 天前
红色的字压成JPEG就发糊,查到最后是色度抽样
图像处理·人工智能·计算机视觉
`流年づ1 天前
卷积核与反卷积知识补充
人工智能·深度学习·计算机视觉
YOLO_DATA1 天前
YOLO27防震锤缺陷检测数据集 防震锤数据集 1000张 防震锤 带标注 voc yolo 2 类 目标检测
人工智能·深度学习·yolo·目标检测·计算机视觉·数据集·无人机
I Am a robert girl1 天前
从一张图到碎裂瞬间:FracGen 如何用物理信号“导演“物体撕裂
人工智能·深度学习·计算机视觉·生成模型·视频生成·物理仿真·断裂模拟
pride.li1 天前
ISP标定-AWB标定(Auto White Balance,自动白平衡校准)
图像处理·计算机视觉·isp