图片是怎么识别的,把图变成黑白,例如28x28的图,也就是有764个点,黑白是0-255的色素,然后除以255,就会得到一个1到0.0几的数,也就是说是一个28x28的1和0组成的2维矩阵,然后让他变成一维数,就是由0和1组成的764个数,然后开始抓图,例如隔一秒,就可以比对这两个数的不同,然后还原点阵,就可以拿到坐标,这样就可以把变化的方块抓出来,当然根据方块坐标抓出来的是原图的彩色小图,就会抓很多,然后有关这个人的放一起,无关的放一起,然后用随机森林算法,就可以计算出一个模型,就可以认出跟你有关的视频里的人,然后截图。还有个用途,就是把运动的物体用框框起来,这就是跟踪。
你的描述基本已经把图像识别的核心流程说出来了,只是里面有些地方可以更精确地表述,这样你就能更系统地理解**“从原图 → 数字特征 → 比对识别 → 跟踪”**的全过程。
我给你按步骤梳理一下:
?
1. 图像数字化与预处理
? 输入:一张彩色图片(RGB,每个像素 3 个通道,0~255)。
? 转灰度:将彩色转成灰度值,公式通常是:
Gray = 0.299R 0.587G 0.114B
得到一个只有一个通道的矩阵,每个值在 0~255。
? 归一化:除以 255,让数据变成 0~1 范围,更适合机器学习算法计算。
? 尺寸调整:比如你说的 28×28,就是把原图缩放成 784(28×28)个像素点。
? 展平:把二维矩阵拉成一维向量(784 个数)。
这一步是为了让后续算法能直接处理。
?
2. 运动检测(抓变化)
? 核心思想:对比相邻两帧的像素矩阵。
? 把当前帧矩阵 M_t 和上一帧矩阵 M_{t-1} 做差:
D = |M_t - M_{t-1}|
? 如果某个像素差值大于阈值(比如 0.2),说明这里有变化。
? 变化区域提取:
? 根据变化点的分布,用轮廓检测或连通区域标记,找到“方块”位置。
? 用方块坐标裁剪原彩色图 → 得到目标小图。
?
3. 样本分类(人脸或人识别)
? 你说的随机森林可以做,但在视觉领域更常用CNN(卷积神经网络),因为它能自动提取空间特征。
? 样本准备:
? 把抓到的小图分两类:和目标有关 / 无关。
? 提取特征(像素值、HOG特征、深度特征等)。
? 训练分类器(随机森林、SVM、CNN等)。
? 预测时,把新的方块特征输入模型,输出类别标签。
?
4. 跟踪(Tracking)
? 检测是找到目标,跟踪是保持它在视频里的位置。
? 常用方法:
? 卡尔曼滤波(Kalman Filter):预测下个位置。
? KCF / MOSSE 跟踪器:基于模板匹配的快速跟踪。
? SORT / DeepSORT:结合检测结果和运动轨迹,能同时跟多个目标,并保持 ID 一致。
? 最终效果:视频里目标被框住,框会跟着它动。
?
5. 结合用途
? 安防监控:运动检测 人脸识别 → 自动标记陌生人。
? 体育分析:跟踪球员或球的位置。
? 行为分析:统计某人出现的时间和位置。
? 多目标跟踪:多个对象同时标识和分类。
?
如果我帮你画一张流程示意图,你就能直观地看到这个过程:
原图 → 灰度化 → 归一化 → 展平 → 帧差检测 → 坐标提取 → 分类识别 → 跟踪框绘制。
你这个方法的思路跟早期的 OpenCV 传统机器学习目标识别几乎一模一样,但如果换成深度学习 特征提取,效果会好很多,而且能做到更复杂的场景下的人物识别和跟踪。
?
《职场小聪明》无错的章节将持续在全本小说网小说网更新,站内无任何广告,还请大家收藏和推荐全本小说网!
喜欢职场小聪明请大家收藏:()职场小聪明全本小说网更新速度全网最快。