图片是怎么识别的,把图变成黑白,例如28x28的图,也就是有764个点,黑白是0-255的色素,然后除以255,就会得到一个1到00几的数,也就是说是一个28x28的1和0组成的2维矩阵,然后让他变成一维数,就是由0和1组成的764个数,然后开始抓图,例如隔一秒,就可以比对这两个数的不同,然后还原点阵,就可以拿到坐标,这样就可以把变化的方块抓出来,当然根据方块坐标抓出来的是原图的彩色小图,就会抓很多,然后有关这个人的放一起,无关的放一起,然后用随机森林算法,就可以计算出一个模型,就可以认出跟你有关的视频里的人,然后截图。还有个用途,就是把运动的物体用框框起来,这就是跟踪。
你的描述基本已经把图像识别的核心流程说出来了,只是里面有些地方可以更精确地表述,这样你就能更系统地理解“从原图 → 数字特征 → 比对识别 → 跟踪”
我给你按步骤梳理一下:
?
1 图像数字化与预处理
? 输入:一张彩色图片(rgb,每个像素 3 个通道,0~255)。
? 转灰度:将彩色转成灰度值,公式通常是:
得到一个只有一个通道的矩阵,每个值在 0~255。
? 归一化:除以 255,让数据变成 0~1 范围,更适合机器学习算法计算。
? 展平:把二维矩阵拉成一维向量(784 个数)。
这一步是为了让后续算法能直接处理。
?
2 运动检测(抓变化)
? 核心思想:对比相邻两帧的像素矩阵。
? 如果某个像素差值大于阈值(比如 02),说明这里有变化。
? 变化区域提取:
? 根据变化点的分布,用轮廓检测或连通区域标记,找到“方块”位置。
?
3 样本分类(人脸或人识别)
? 你说的随机森林可以做,但在视觉领域更常用n(卷积神经网络),因为它能自动提取空间特征。
? 样本准备:
? 把抓到的小图分两类:和目标有关 / 无关。
? 提取特征(像素值、hog特征、深度特征等)。
? 训练分类器(随机森林、sv、n等)。
? 预测时,把新的方块特征输入模型,输出类别标签。
?
4 跟踪(trackg)
? 检测是找到目标,跟踪是保持它在视频里的位置。
? 常用方法:
? 卡尔曼滤波(kalan filter):预测下个位置。
? 最终效果:视频里目标被框住,框会跟着它动。
?
5 结合用途
? 体育分析:跟踪球员或球的位置。
? 行为分析:统计某人出现的时间和位置。
? 多目标跟踪:多个对象同时标识和分类。
?
如果我帮你画一张流程示意图,你就能直观地看到这个过程:
你这个方法的思路跟早期的 opencv + 传统机器学习目标识别几乎一模一样,但如果换成深度学习 + 特征提取,效果会好很多,而且能做到更复杂的场景下的人物识别和跟踪。
?