摘要:接触过计算机视觉的朋友都知道业界常用的视觉处理解决方案有halcon、OpenCV、FreeImage等,其中由于opencv开源免费,因此适合个人学习使用。
由于在一些嵌入式领域需要交叉编译并移植整个软件库比较麻烦、加之这些库都比较庞大可能会导致资源占用过多的问题;再者就是在一些特殊领域(比如牵扯到适航问题时)直接使用现有的计算机视觉解决方案就显得十分不妥,笔者基于上述原因决定手写一套自己的图像处理函数库——MyCV。
1.计划与准备
在前期阶段我学习过了图像处理的相关知识,掌握了一些图像处理算法。考虑到将来我们的代码要跑在嵌入式设备上所以这里采用C语言来编写。功能包括图片读取、保存、灰度化、二值化、高斯滤波、边缘检测、直线检测、特征提取等功能。会面会对MyCV库的功能进行不断地扩充、时期不断完善。
1.1 前期成果展示
1.1.1 原图展示
前期完成了读取图片、保存图片、灰度化、二值化、soble边缘检测、canny边缘检测、高斯滤波、直线检测等函数的编写初步验证了手写图像处理算法的可行性。
图 1.1 原图
图 1.2 灰度图
图 1.3 二值图
图 1.4 soble边缘检测效果图
图 1.5 canny边缘检测效果图
由于二值化、高斯滤波、canny边缘检测都有阈值参数,因此根据阈值不同所产生的效果也会有所不同,这里知识列举其中一种情况。