opencv - 使用彩色图像进行面部识别?
问题描述
在使用 OpenCV 进行面部识别的网络上的许多示例中,我看到图像被转换为灰度,作为面部识别功能的“预处理”的一部分。如果将彩色图像用于面部识别会发生什么?为什么所有示例都先将图像转为灰度?
解决方案
许多图像处理和 CV 算法使用灰度图像而不是彩色图像作为输入。一个重要原因是因为通过转换为灰度,它将亮度平面与色度平面分开。亮度对于区分图像中的视觉特征也更重要。例如,如果您想根据亮度和色度查找边缘,则需要额外的工作。颜色也不能真正帮助我们识别图像的重要特征或特征,尽管可能有例外。
灰度图像只有一个颜色通道,而彩色图像(RGB、HSV)中只有三个颜色通道。灰度图像的固有复杂性低于彩色图像,因为您可以在没有颜色的情况下获得与亮度、对比度、边缘、形状、轮廓、纹理和透视相关的特征。
灰度处理也快得多。如果我们假设处理三通道彩色图像的时间是处理灰度图像的三倍,那么我们可以通过消除不需要的颜色通道来节省处理时间。从本质上讲,颜色会增加模型的复杂性,并且通常会减慢处理速度。
推荐阅读
- c# - 每次更改和重新编译 blazor 代码后,如何停止 cookie 失效?
- python - 在 NixOS 上使用 pyglet.media (& avbin)(没有声音播放)
- python - 我应该使用 globals() 还是 importlib 来创建对象?
- javascript - 登录后重定向到主页与删除登录用户的受保护路由冲突 | 反应
- amazon-web-services - AWS Cognito - 管理员无需发送电子邮件即可重置用户密码
- python - 使用moviepy转换旧的quicktime文件
- javascript - Javascript:模拟相同功能的随机执行时间
- amazon-web-services - 从 S3 接入点复制到 Redshift
- amazon-web-services - AWS Elastic Search Service VPC 终端节点搜索问题
- python - PYTHON - 我需要从行中删除一些字符