JobPlus知识库 IT 软件开发 文章
Android 图像处理软件

在机器视觉实验室呆了有一年半时间了,但由于自己“任性”。一直以来学习的内容都是自己来安排,我还是坚持认为没有最好和最简单的技术,只有自己喜欢的技术。不过说起来还是会觉得惭愧,经常听到师兄们谈论图像处理各种算法,可是一直到此软件诞生之前对机器视觉的知识可以说一概不知。自己研究的主要是Android系统的东西,从上层到下层都有所涉及。一直以来都想把自身所长和实验室主题联系上,这样可以多和实验室牛人沟通,也顺便刷刷存在感~由此向师兄师弟们请教一二,学了一点图像处理技术,做了一款Android平台的图像处理工具,可以帮助用户快速实时预览所要处理的图像在不同算法之下的结果。也由于本人所学算法太少,今后学了更多之后也会慢慢加入到软件中,将软件功能壮大起来。

首先讲讲软件到目前为止可以实现的功能:

  • 开启手机相机预览图像
  • 将采集到的图像转换成灰度图预览
  • 将灰度图像经过Sobel转换后预览
  • 对Sobel之后的图像进行二值化
  • 二值化的过程中可以随时动态调整分割阈值
  • 通过拍照按钮可以锁定图像,在按一次进行边缘提取

软件效果图如下:

首先是打开软件所看到的主界面:


软件主界面

然后点击菜单,切换到灰度图:


转换灰度图

接着切换到Sobel变换


Sobel变换之后

阈值为50的二值分割


二值化

最后进行边缘提取:


边缘提取

其中涉及到的算法有四个,具体的算法实现可以在软件源码中找到,点击下载源码

整个软件有3个类,也就三个不同的功能部分,其中MainActivity.java是主类,下面按照三个不同的功能成分对整个软件架构做一个详细的说明:

1、主界面

MainActivity.java :

首先是界面布局,主要是一个ImageView用于显示整个预览框,另外加上一个拍照按钮和一个菜单按钮,点击菜单按钮弹出菜单。最后如果当前请求二值化算法,则显示一个滑动进度条和一个文本输入框来动态调整阈值。代码如下:


如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持
380人赞 举报
分享到
用户评价(0)

暂无评价,你也可以发布评价哦:)

扫码APP

扫描使用APP

扫码使用

扫描使用小程序