前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >冷知识 | 为什么OpenCV使用BGR颜色格式?

冷知识 | 为什么OpenCV使用BGR颜色格式?

作者头像
Color Space
发布2022-02-08 16:59:32
1.6K0
发布2022-02-08 16:59:32
举报

来源丨https://learnopencv.com/why-does-opencv-use-bgr-color-format/

翻译整理丨OpenCV与AI深度学习

良好设计的要素之一是最小惊讶原则(又称最小意外原则)。一个好的直观设计让用户不会思考。

当你看到门上的把手时,你想拉它。当你看到一扇带有金属板的门时,你想推它。这些是门的使用者的期望,当门的设计者尊重这些期望时,用户可以在不施加任何精神能量的情况下使用门。但如果设计与用户的期望不一致,那么简单的开门动作就会成为一种心理负担。

OpenCV 是一个非常有用的库,但是说到最小意外原则,它就是一场不合格的灾难。当我在 MATLAB 中编写计算机视觉代码时,我很少参考文档。在使用 OpenCV 时,我在浏览器选项卡中永久打开了文档。

OpenCV 的构建似乎考虑到了最大惊喜的原则!这一切都始于默认的 BGR 像素格式。它不适用于使用标准 RGB 像素格式的库。例如,当您在 OpenCV 中使用imread读取图像后尝试使用matplotlib显示图像时,结果看起来很有趣。

“当其他人及其阿姨都使用 RGB 时,为什么不使用 RGB?”

这是我在几个月前的一次会议上遇到 OpenCV 的创始人 Gary Bradski 博士时问他的问题,尽管我忽略了关于每个人和他们的阿姨使用 RGB 的部分。他用另一个问题回答了我的问题。

“为什么美国标准的铁路轨距是 4 英尺 8.5 英寸?”

这个问题的答案当然是“因为罗马马的屁股!”

对于不知道这个不太真实的故事的人,我从snopes复制了以下内容

为什么他们在 OpenCV 中选择 BGR 颜色空间?

OpenCV 的早期开发人员之所以选择 BGR 颜色格式,是因为当时 BGR 颜色格式在相机制造商和软件提供商中很流行。例如在 Windows 中,当使用COLORREF指定颜色值时,它们使用 BGR 格式0x00bbggrr。

BGR 是出于历史原因做出的选择,现在我们必须接受它。换句话说,BGR 是 OpenCV 中的马的屁股。^_^

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV与AI深度学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么他们在 OpenCV 中选择 BGR 颜色空间?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档