Appearance
视觉入门
本文提供给刚学习完C语言的新人了解视觉相关的基础知识。
视觉组到底在做什么
如果你玩过FPS游戏(瓦,CSGO,三角洲),那你一定知道外挂。
最普通的锁头挂就是需要电脑实时读取游戏画面,标注出游戏里敌人的头,并把你的准心移动到头上。
机甲大师比赛就是一场FPS比赛,视觉组,就是写挂的。
你需要让操作手每一发子弹都打到对面的头上或者别的地方,比如对面的防御塔,对面的能量机关这些场景交互。
图像基础知识
你学C语言的时候,肯定接触过一个概念,叫做数组。
现在,假设你的面前有一个二维数组。我们认定,当数组内的数字为1的时候,这个数组填充为白色,数组内的数字为0的时候,这个数组填充为黑色。
那么你就可以生成类似于下图的图片。图像的本质,就是数组。

但是黑白两种颜色明显不够用。
那就把数字范围扩大:0 依然是全黑,255 是全白,中间的数字就是从暗到亮的各种灰。这样数组存下来的,就是一张灰度图——相机在暗场里拍到的画面,本质上就是这么一张"每个点 0~255"的大表格。
那彩色图呢?更简单:三个数组叠在一起,一个存红、一个存绿、一个存蓝,三个数字一混就是这个点的颜色。所以一张 1920×1080 的彩色图,本质上就是 3×1920×1080 个数字。
顺带一提,数组的行数乘列数就是图像的分辨率:1920×1080,就是横向 1920 个点、纵向 1080 个点。数组里的每个数字,我们叫它像素。
所谓"图像处理",说白了就是对这些数字做运算:找最亮的地方就是找数组最大值,找轮廓就是找数字变化的边界。开头说的"锁头挂",就是每秒对着这些数字算几十次,算出敌人脑袋在哪。
只不过手写太慢:求个平均值都要双层循环跑几十万次,还得自己想办法加速。所以大家用 OpenCV——一个有关于图像运算的库。
上手 OpenCV:先让它跑起来
安装就是:装 Visual Studio → 下载 OpenCV → 配置包含目录和库目录(具体步骤网上教程很多)。环境配置是新人第一道坎,卡住先看教程、再问学长,别自己硬憋。
一点建议
- 先跑通,再优化。先要结果正确,再谈准不准、快不快。
- 别在环境上耗太久。装不上就换教程或找学长,别研究一天 VS 的报错。
- 图是最好的调试工具。把灰度图、二值图
imshow出来看一眼,比盯一晚上代码有用。 - 学会调试。
dRcLoD(25视觉) 2026.9.20