我想看照片 看到这个图片 我想一定是哪里出了问题

栏目:教育 2021-09-27 19:33:59
分享到:

重干货,第一时间送达

本文转自:人工智能算法与图像处理

引导阅读

我想,当大家看到这张图的时候,大家一定开始怀疑边肖的思维有问题,其实是黄色的。事实上,这并不是我的头脑有问题,也不是我的眼睛有问题。事实上,我们经常忽略一些问题。问题可能不严重,但这种习惯很容易让我们留下把柄,可能会给别人一些嫁给你的机会。

如果你能看到问题,别人也能看到,问题就会被放大。。。

——被教官喷了三年的经历

通过一个简单的例子训练我们解决问题的能力:

目的:阅读下面的图片并显示出来

原始图片:

代码:

结果:

捧着草,好女孩为什么会变色?有点像阿凡达

代码很简单,但比给你一段代码更重要的是遇到问题时如何解决和思考

下面我做的思维导图是用来分析问题的:

1.发现异常

发现问题的能力非常重要。那些老板嗅觉非常敏锐,对事物的洞察能力很强,他们能一下子就发现自己在哪里。他们可以通过一些细节得到很多有用的信息,真的很牛逼。

在这里,当我们看到结果时,我们可以发现有些不对劲,输出的图片与我想要的不同

-对错误有敏锐的嗅觉

2.描述问题

除了发现异常,我们还需要在一定程度上描述问题。事实上,整理词汇描述的过程相当于分析子问题,这样我们才能朝着正确的方向前进。

比如你去医院看病,你可能会说我身体不舒服,但是这个描述很不准确,甚至一文不值。然后你继续说我的胃有点不舒服,这稍微缩小了问题的范围。最后具体描述是胃痛还是腹胀等。只有这样才能达到最终的补救。

-准确清晰地描述问题

比如这里,我发现虽然有图片显示,但是这个颜色不是很正常,所以和阿凡达是同一个颜色!

3.分析问题

组织代码实现思路

主要是让自己对整体有一个更清晰的认识,方便可能出现问题的位置

想法:阅读图片并展示出来

可以显示结果,说明至少可以实现读取和显示功能,但是里面可能有一些小问题

比较并找出问题

plt.imshow有问题,我就试试cv2.imshow,不过没关系。检查cv2读入的内容,CV2和plt之间imshow的含义,然后猜测问题。

经查,发现cv2读取的原始通道序列是BGR,而plt是RGB,所以显示的结果很奇怪。

4.解决问题

只需颠倒BGR频道的顺序

代码:

备注:我用plt展示我不做的事情。其实还有一个目的,就是方便我显示多张图片

总结:

其实这个问题很简单。也许你可以在一百度内找到答案,但是很多时候,当我们遇到问题的时候,我们没有养成一个好的习惯,导致成长缓慢,习惯于伸手。之前遇到过一个人,宁愿等半个小时也不愿意百度,也不愿意去想哪里出了问题。养成思考的习惯比学习这段代码更有价值。

下载1:中文版教程1:OpenCV-Contrib扩展模块

下载2:第2讲:Python可视化实用项目52

下载3:第20讲,共3讲:OpenCV实践项目