这篇文章将为大家详细讲解有关如何进行图片JNI C++Java高斯模糊的实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。说明:其中代码大部分来源于网络,不过都是开源的。最原始的代码:这个是C++的代码。在网上发现了一个开源的 Android 模糊的例子,其中有该代码的 Java 版本。该代码与C++的代码同出一源。下面来简要分析一下。方法进入后,首先得到图片的像素点集合;而后
New 两个
List ,分别存储
BlurTask 。可以看出
BlurTask 是用于进行
线程池的回调类;其主要调用了方法
blurIteration进行模糊。同时给方法,传入的参数有:像素点集合宽高模糊半径最大内核数当前内核而后回到第一步处:其实是调用的:该方法用于返回当前虚拟机的核数;用此方法可以
最大效率的进行多线程的分配。而后开发云主机域名:可以看出往列表中加上,对应的线程回调操作;分别是
步骤1,和步骤2而后:该方法中:
StackBlurManager.EXECUTOR 其实是:可以看出其实是建立了一个线程池,线程池的运行线程数为当前虚拟机的核数。然后把步骤1的集合丢进线程池并等待执行完成;而后丢进步骤2.其实从其命名就能看出:步骤1其实是模糊水平方向步骤2其实是模糊垂直方向具体是不是可以看看blurIteration 方法。由于方法太长就简化了一下:可以看出
分别进行了模糊水平与垂直。同时,在模糊时:分为了许多部分,具体取决于虚拟核数。在这里有必要说明一点就是;在模糊时只能先模糊第一步,而后才能模糊第二部。意思就是说第一步与第二步是不能同时进行的;如果不赞同;可以啊把上面的两个列表改成一个同时进行多线程你就知道模糊的效果了。这里截图就不进行截图了,不过根据我的测试;该模糊方法在多线程下优势较为明显;也就是说手机核数越高其模糊速度越快。如果该方法顺序执行,不使用多线程;那么其模糊所耗费时间约比我上一章中介绍的方法多1/4的时间。关于如何进行图片JNI C++Java高斯模糊的实现就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
本篇内容介绍了“怎么调整Kubernetes的CPU和内存”的有关知识,在实际案例的操作过程中,不少人都会开发云主机域名遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!“怎么调整Kubernetes的CPU和内…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。