记录我第一次在Android开发图像处理算法的经历

大概是四月底的时候,有人加我QQ问我是否做能做一些基于图像皮肤检测的算法,

主要是实现对皮肤六项指标:

1.      水分

2.      有份

3.      痤疮与痘痘

4.      色斑与肤色

5.      皱纹

6.      毛孔

听到这些内容,我稍微思考了一下,心里有了点思路,跟他交流了一下,关于怎么

做的思路就更加清晰起来,于是我先基于JAVA语言实现了第一版,然后把它改到

android上面,发现android代码改动很小,就可以在android上运行我的测试程序

了,但是感觉速度很慢,大概要十几秒才能出结果,发给了那个哥们,他测试了一

下也很郁闷,说速度太慢了,准确率也不是很高,怎么办,于是我仔细对照了一下

,发现我用Java语言实现时,在桌面版都是基于int来处理RGB像素的每个通道数

据,android上面DVM这么玩就有点卡,于是我就全部改成了每个通道基于BYTE

来实现处理,然后增加了皮肤检测,这样过滤非SKIN像素,再降采样处理整个

Bitmap数据,果然速度很快了,只要三秒左右就可以出结果,连我自己都觉得

自己是大神了,然后就想把android的人脸检测加上去,实现分块检测,这样

可以更好的检测人脸皱纹类型,经过一番各种坑之后,android上的人脸检测

API我学会了使用,但是发现速度不给力,加上去等于作茧自缚。于是我又放

弃了。又经过一番各种调试,别人帮忙把相机功能加上了,这样就实现了拍

照直接检测出结果,于是第二个问题出现了,经常出现APP闪退,我哭,经

过一番测试,发现低分辨率时候才会出现闪退,后来我才明白问题出在我对

低分辨率进行降采样,已经超出了像素范围,我哭!解决了之后闪退问题就

不见了,终于可以正常运行了,也可以正常测试了:

测试程序中的效果截屏:


这个就是拍照检测的结果,

原理都是常见的图像处理算法,可以说本人的博客文章已经包含了该应用的所有

图像处理算法知识,只是如何活学活用取决于大家都图像处理问题的认知与理解。

 通过该算法的开发,我第一次将我学到的图像处理知识应用到实践之中用于解决

实际问题,同时也发现真实图像处理问题,不是一步算法就可以实现的,而是一

系列图像处理算法的综合运用。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值