良好设计的要素之一是最小惊讶原则(又称最小意外原则)。一个好的直观设计让用户不会思考。
当你看到门上的把手时,你想拉它。当你看到一扇带有金属板的门时,你想推它。这些是门的使用者的期望,当门的设计者尊重这些期望时,用户可以在不施加任何精神能量的情况下使用门。但如果设计与用户的期望不一致,那么简单的开门动作就会成为一种心理负担。
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 中的马的屁股。^_^
审核编辑 :李倩
-
RGB
+关注
关注
4文章
803浏览量
59109 -
OpenCV
+关注
关注
31文章
637浏览量
41963
原文标题:冷知识 | 为什么OpenCV使用BGR颜色格式?
文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
为LSDK构建opencv时遇到的问题求解
使用OpenCV保存从摄像头捕获的视频时更改颜色输出视频收到警告怎么解决?
THS8200出来的视频图像是YPbPr格式,但是显示颜色不对,如何处理?
如何选择PCB颜色
【AI实战项目】基于OpenCV的“颜色识别项目”完整操作过程

脚本美化高手之轻松实现文本颜色和背景定制的酷炫Shell技巧

基于OpenCV的拆分和合并图像通道实验案例分享_基于RK3568教学实验箱
RK3568 + OpenCV 会碰撞出什么火花?案例详解:2-1 基于OpenCV的画线实验
基于OPENCV的相机捕捉视频进行人脸检测--米尔NXP i.MX93开发板

评论