感悟
从高中时对Python的初次接触、学习,到现在步入大学有机会进一步深入学习Python;从最基础的语法,到numpy,pandas,matlibplot等各种库,我对python的认识不断在扩张,有时会感叹编程方法的巧妙,让我看到了不一样的处理问题的方式。
python写代码的过程,在我看来就像垒砖头。在我没有学习某些语法或库之前,看着别人写的代码——长而复杂的函数名,紧密堆积的逻辑框架,只感觉到复杂混沌,眼花缭乱。但逐渐了解规则,深入学习过后,才发现这些python语句是严谨规则、精密奇妙的,正如堆砌砖头,观局部,只能看到粗粝奇形怪状的砖块,但望整体,能看到他们俨然组成了精美的建筑,这时才会发现那些杂乱的砖块是精心严密地排列好的。
自学python遇到的困难,大概是很难找到合适的课程。网课、书籍众多,需要花费一些时间筛选,在这个过程中,大多数时间里自己学习的目标会逐渐清晰,但繁杂的、过于碎片化的内容有时也会让人迷茫。我的学习办法主要是看网络教程,视频为主,我倾向于先“泛读”后“精读”,以便更准确更高效地学习到我想要的知识。有时我会看一些书为了系统地理顺知识框架。
数据处理和简单可视化方面之前有学习和练习过部分内容,但图像处理之前还未接触过且相对更感兴趣,所以这次任务,我选择学习图像识别方面的内容,学习了OpenCV的基本知识。学习之中我已感觉到python语言体系的广阔浩瀚,它可以融汇数学分析、高等代数、机器学习、人工智能等等进行绘图计算数据处理......短短半学期的自学我只窥见了它的一隅,学习之路还很漫长。
图像识别
以我的魔方作为目标图像。
以下是输出的原图像。
opencv中采用BGR通道 。
灰度处理:

模糊:

显示边缘:
阈值设为了60,原图拍摄光线较暗,尝试较大的阈值(比如90)时效果不好。

边缘膨胀和腐蚀:
用到了numpy、内核Kernel。


裁剪:

提取平面:
用画图app获取目标面的四个顶点的坐标。
颜色检测:
目标颜色取黄色,加蒙版测试参数,目标颜色保留为白色。

获取黄色面的参数后,重新设置参数值,成功识别出黄色面:

学习总是艰难漫长的,但有时也充满乐趣和成就感。
601

被折叠的 条评论
为什么被折叠?



