你有没有过这样的经历?手机拍照时,自动把人脸磨皮、调亮,甚至加上美颜特效,以为这就是“计算机看懂了图片”?其实这背后是两个不同的技术在干活:图像处理和计算机视觉。很多人把它们混为一谈,但它们干的事儿真不一样。
图像处理:给照片“化妆”的手艺
图像处理更像是一个修图师。它的核心任务是对图像本身做各种操作,比如增强亮度、去噪、模糊、锐化、调整对比度,或者把彩色图转成黑白。它不关心图里有什么,只关心怎么让图看起来更好。
举个例子,你拍了一张夜景,画面很暗还有噪点。手机相册里的“增强”按钮一点,画面变亮、噪点减少——这整个过程就是图像处理在起作用。它没有识别出“这是路灯”或“那是行人”,只是对像素做了数学运算。
常见的图像处理操作可以用代码这样实现:
<import cv2>
<import numpy as np>
<# 读取图像>
<img = cv2.imread('night.jpg')>
<# 增强对比度>
<clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))>
<gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)>
<enhanced = clahe.apply(gray)>
<# 保存结果>
<cv2.imwrite('enhanced_night.jpg', enhanced)>
计算机视觉:让机器“看懂”世界
如果说图像处理是化妆师,那计算机视觉就是侦探。它不满足于“图好不好看”,而是要搞清楚“图里有什么”“人在干嘛”“车往哪开”。它的目标是理解图像内容,提取语义信息。
比如小区门口的摄像头,能自动识别是不是业主的车,靠的就是计算机视觉。它先检测车牌位置,再识别字符,最后比对数据库。这个过程涉及目标检测、OCR、分类等多个步骤,都是在“理解”图像。
另一个例子是扫地机器人。它用摄像头观察房间,判断沙发在哪、茶几多高,然后规划路线不撞墙。这已经不是简单的图像变换,而是空间理解和决策。
两者的关系:先打扮,再看懂
在实际应用中,图像处理常常是计算机视觉的前一步。比如在低光照环境下,直接做目标识别可能失败。这时候先用图像处理提升亮度、去除噪声,再交给计算机视觉模型去分析,效果就好多了。
就像你去面试前要收拾打扮一下,不是为了变成另一个人,而是让自己更容易被看清。图像处理就是给图像“整理仪容”,让计算机视觉能更准确地“看清本质”。
再比如医疗影像,CT片子原始数据很模糊,医生也难看。医院系统会先用图像处理算法增强边缘、突出组织差异,然后再用AI判断是否有肿瘤迹象——前者是图像处理,后者是计算机视觉。
一句话分清它们
如果你的操作改变了图像的像素值,但没解释内容,那基本是图像处理;如果你从图像里得到了“有猫”“人摔倒了”“红灯亮了”这种信息,那就是计算机视觉在工作。