重干货,第一时间送达
本文转自:人工智能算法与图像处理
引导阅读
我想,当大家看到这张图的时候,大家一定开始怀疑边肖的思维有问题,其实是黄色的。事实上,这并不是我的头脑有问题,也不是我的眼睛有问题。事实上,我们经常忽略一些问题。问题可能不严重,但这种习惯很容易让我们留下把柄,可能会给别人一些嫁给你的机会。
如果你能看到问题,别人也能看到,问题就会被放大。。。
——被教官喷了三年的经历
通过一个简单的例子训练我们解决问题的能力:
目的:阅读下面的图片并显示出来
原始图片:
代码:
结果:
捧着草,好女孩为什么会变色?有点像阿凡达
代码很简单,但比给你一段代码更重要的是遇到问题时如何解决和思考
下面我做的思维导图是用来分析问题的:
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实践项目