zoukankan      html  css  js  c++  java
  • 记录我第一次在Android开发图像处理算法的经历

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

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

    1.      水分

    2.      有份

    3.      痤疮与痘痘

    4.      色斑与肤色

    5.      皱纹

    6.      毛孔

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

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

    android上面。发现android代码修改非常小,就能够在android上执行我的測试程序

    了。可是感觉速度非常慢。大概要十几秒才干出结果。发给了那个哥们。他測试了一

    下也非常郁闷,说速度太慢了,准确率也不是非常高,怎么办。于是我细致对比了一下

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

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

    来实现处理,然后添加了皮肤检測,这样过滤非SKIN像素。再降採样处理整个

    Bitmap数据,果然速度非常快了,仅仅要三秒左右就能够出结果,连我自己都认为

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

    能够更好的检測人脸皱纹类型。经过一番各种坑之后,android上的人脸检測

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

    弃了。

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

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

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

    低分辨率进行降採样,已经超出了像素范围,我哭!

    攻克了之后闪退问题就

    不见了,最终能够正常执行了,也能够正常測试了:

    測试程序中的效果截屏:


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

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

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

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

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

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



  • 相关阅读:
    Java文件的 In 与 Out 的相对性
    EBS 生产环境并发管理器重启步骤详解经验啊
    HDOJ1285 确定比赛名次(拓扑排序)
    对线性回归、逻辑回归、各种回归的概念学习
    一个截屏工具制作的全过程记录——如何使用“拿来主义”
    免费的响应式bootstrap管理员后台界面主题 Charisma
    挖掘管理价值:企业软件项目管理实战
    浏览器自动填充表单导致网页样式丢失
    「译」开发者如何提升和推销自己
    xcopy的一次误用及解决办法
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5061588.html
Copyright © 2011-2022 走看看