机器视觉零基础入门:(一)视觉基础概念
依然记得在大学刚刚接触到视觉这个板块的时候,就好像开启了一个新的世界大门,被其中无穷的数字变换所吸引。后来接触的越来越多,慢慢的在前行,也想像课堂中的讲师,网站上的一个个up主一样,分享自己的收获,等以后又过了很多年,把自己写过的博客翻出来回忆一番。相比于网站上很多优秀的课程,可能这一系列专栏犹如荧光见皓月一般渺小,但是我觉得将自己的所见所闻所感,与看到这篇文章的另一个人通过屏幕传递信息,是跨越数
依然记得在大学刚刚接触到视觉这个板块的时候,就好像开启了一个新的世界大门,被其中无穷的数字变换所吸引。后来接触的越来越多,慢慢的在前行,也想像课堂中的讲师,网站上的一个个up主一样,分享自己的收获,等以后又过了很多年,把自己写过的博客翻出来回忆一番。相比于网站上很多优秀的课程,可能这一系列专栏犹如荧光见皓月一般渺小,但是我觉得将自己的所见所闻所感,与看到这篇文章的另一个人通过屏幕传递信息,是跨越数字0和1之间精神交流。我也将尽可能的将这一专栏,描述的最通俗易懂,易于新人理解。感谢各位读友,如有描述不当之处,恳请批评指正,谢谢!
这一篇文章所涉及到的内容,我们在后续的文章中会陆续讲解。此章节只需对视觉有一些基础的了解。
一、先搞懂:机器视觉里的 “基础建材”
一栋高楼是由钢筋混凝土修筑成的。要搞懂一张图像,首先要明白,它是怎么构成的。
(1) 像素(Pixel)
就像拼图是由一个个小方块拼出来的,图像由无数个 “像素小方块” 组成。比如我们常说的 “1920×1080 图像”,意思是这张图横向有 1920 个像素,纵向有 1080 个像素,总共约 207 万个小方块。

1. 黑白图
黑白图里没有 “颜色”,只有 “亮和暗” 的区别,像调台灯亮度。而每个像素的亮暗程度,都用一个从0 到 255 的数字来精确记录 —— 这个数字就像 “亮度开关”,数字越小越暗,数字越大越亮。
1.1 核心数值的含义:2 个关键节点
- 0 = 纯黑:表示这个像素完全不发光,就像把台灯调到 “最暗”,灯珠完全不亮,看起来是纯黑色。比如图像里 “黑板的黑色区域”“夜晚的天空”,对应的像素数值就是 0。
- 255 = 纯白:表示这个像素发光最亮,就像把台灯调到 “最亮”,灯珠全力发光,看起来是纯白色。比如图像里 “白纸的白色部分”“阳光下的雪地”,对应的像素数值就是 255。
1.2 为什么用 “0-255”?不是 1-100?
因为计算机存储数据时,常用 “8 位二进制”(简单理解为 “8 个 0/1 组成的代码”),而 8 位二进制能表示的最大数字就是 “255”(计算逻辑:2^8 - 1 = 255)。用 0-255 既能精准区分 “亮暗”,又能让计算机高效存储 ——1 个黑白像素只需要 1 个 “8 位数据”,1 张 1920×1080 的黑白图,总数据量约 2MB(1920×1080×1 字节),手机、电脑都能快速处理。
2.彩色图
彩色图之所以有丰富的颜色,核心是每个像素都由 “红(R)、绿(G)、蓝(B)” 三种基础颜色(称为 “三原色”)混合而成,就像我们用红、绿、蓝三种水彩颜料,能调出各种颜色一样。而每种基础颜色的 “用量多少”,也分别用0-255 的数字来控制 —— 最终像素的颜色,就是这三种颜色 “按比例混合” 的结果。
每个彩色像素都有 3 个 “亮度数值”:分别对应红(R)、绿(G)、蓝(B)的浓度,每个数值都是 0-255,规则和黑白图一样:数字越大,该颜色越浓;数字越小,该颜色越淡。

因为每个彩色像素需要存储 “R、G、B”3 个 0-255 的数值(共 3 个 8 位数据),所以数据量是黑白图的 3 倍。比如 1 张 1920×1080 的彩色图,总数据量约 6MB(1920×1080×3 字节),这也是为什么手机拍的彩色照片,比黑白照片占用的存储空间更大。
(2) 数字图像 —— 能存进电脑的 “电子拼图”
我们手机拍的照片、相机拍的工业零件图,都是 “数字图像”—— 本质是把像素的颜色信息,用电脑能读懂的数字存起来(比如存在文件夹里的 JPG、PNG 文件)。
和以前的 “胶片照片”(模拟图像)比,数字图像的好处很明显:能随便复制、传文件,还能在电脑上修改(比如调亮、裁剪),这也是机器视觉能处理图像的前提。
(3) 机器视觉系统 —— 机器的 “眼睛 + 大脑”
简单说,机器视觉系统就是给机器装了 “眼睛” 和 “大脑”:
- “眼睛”:相机(拍图像)、镜头(聚焦)、光源(补光,让图像更清楚);
- “大脑”:电脑 + 算法(处理图像、判断结果,比如 “这个零件有没有划痕”)。
比如工厂里检测手机屏幕,相机先拍屏幕的图像,算法再分析图像里的像素,最后告诉工人 “这屏是好的” 还是 “有划痕,不合格”。
二、下一步:图像怎么 “变清楚、变有用”?
(1) 灰度化 —— 给彩色图 “去色”,变黑白
很多时候,机器不需要看彩色,只需要看 “黑白” 就够了,这时候就要做 “灰度化”—— 把彩色图的 RGB 三色,转成黑白图的 “亮暗灰度”。
应用场景:当检测黑色塑料零件有没有缺角时,零件是黑、背景是白,彩色里的 “黑” 和黑白里的 “黑” 没区别,但转成黑白后,图像的数据量会少很多(彩色图每个像素存 3 个数字,黑白图只存 1 个),机器处理起来更快(比如原来 1 秒处理 10 张图,现在能处理 30 张)。
当然也有例外,如果要分 “红苹果” 和 “绿苹果”,就不能转黑白,得保留彩色。所以不论是机器视觉还是其他工程,所有的最优解决方案总是因地制宜的。
(2) 降噪 —— 擦掉图像里的 “小脏点”
拍图像时,可能会有 “小意外”:比如车间灯光闪了一下、相机有点旧,图像上就会出现密密麻麻的 “小脏点”(这叫 “噪声”)。

降噪就是 “擦掉这些小脏点”,比较常用两种简单方法(还有其他很多):
- 均值滤波:像用橡皮擦轻轻擦,把脏点和周围的像素 “揉匀”,适合去掉淡淡的 “灰雾”;
- 中值滤波:像挑豆子,把脏点换成周围像素里 “中间亮度” 的那个,适合去掉明显的 “黑白小点”(比如相机老化出现的黑点)。
(3) 图像增强 —— 让 “看不清的细节” 变清楚
有时候拍的图像会 “有问题”:比如一张图片边缘模糊,对比性不强,这时候就要 “增强”。
比较常用的是 “直方图均衡化”—— 简单说就是 “把暗的地方调亮,亮的地方调暗”,让整个图像亮度均匀。下图是图像增强前后的对比:

三、再深入:机器怎么 “看懂” 图像?
(1)边缘检测 —— 找到物体的 “轮廓线”
比如我们看一个杯子,最先看到的是杯子的 “边”(轮廓),边缘检测就是让机器找到图像里物体的 “轮廓线”。
原理很简单:机器会看相邻像素的亮度变化 —— 如果一个像素是 “黑”(零件),旁边是 “白”(背景),这里就是 “边缘”。

(2) 阈值分割 —— 把 “目标” 和 “背景” 分开
就像在白纸上画了个黑圈,我们一眼能分清 “黑圈(目标)” 和 “白纸(背景)”,阈值分割就是让机器也能分清。
一般我们会选一个 “亮度阈值”(比如 127),把图像里亮度低于 127 的像素归为 “目标”(比如黑圈),高于 127 的归为 “背景”(比如白纸),这样就能把目标单独 “抠” 出来。
应用场景:检测传送带上的黑色零件,阈值设 127,机器会自动把黑色零件(亮度 <127)和白色传送带(亮度> 127)分开,方便后续检测零件有没有缺陷。
(3) 目标识别 —— 让机器知道 “这是什么”
简单说就是让机器 “认东西”,分两种简单情况:
- 模板匹配:比如要检测同一型号的螺丝,先给机器存一张 “标准螺丝图”(模板),然后机器把待检测的螺丝图和模板对比 —— 长得像(相似度 90% 以上)就是 “合格螺丝”,不像就是 “坏的”;
- 简单分类:比如分拣红、黄、绿三种糖果,机器会看像素的颜色 ——R 值高的是 “红糖果”,G 值高的是 “绿糖果”,这样就能分去不同的盒子里。

四、最后看:这些技术实际用在哪?
我们分别举几个简单的例子来说明这一套流程:
(1) 工业检测:替代人工 “挑次品”
- 场景:手机屏幕出厂检测;
- 过程:相机拍屏幕图像→灰度化 + 降噪(让图像干净)→边缘检测(看屏幕有没有碎边)→缺陷检测(看有没有划痕);
- 效果:人工一天能检测 2000 块屏,机器一天能检测 10 万块,还不会累、不会看漏。
(2) 农业分拣:给水果 “分等级”
- 场景:苹果分拣;
- 过程:相机拍苹果图像→保留彩色(看颜色)→目标识别(区分红苹果、青苹果)→尺寸测量(看苹果大小,大的归 “一级果”,小的归 “二级果”);
- 效果:不用人工一个个挑,机器每秒能分 10 个苹果,还能保证每个等级的苹果大小、颜色一致。
(3) 自动驾驶:帮汽车 “看路”
- 场景:汽车识别行人;
- 过程:车载相机拍路面图像→语义分割(把 “行人、车辆、道路” 分开)→目标识别(认出 “这是行人”)→距离计算(判断行人离车多远);
- 效果:如果行人离车近,汽车会自动减速,避免撞到人。
(总目录跳转链接)
https://blog.csdn.net/2301_80854159/article/details/153195046?spm=1001.2014.3001.5501
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)