Android中Low Poly风格图片生成器

时间:2017-04-24 08:59 来源:互联网 作者:源码搜藏收藏

  • 源码类别:绘图Drawing
  • 源码大小:未知
  • 编码格式:gbk,utf8,不限
  • 运行环境:Android studio
  • 广告推荐

Low Poly 图片生成器

能够生成low poly风格的图片,Android版本的实现

效果图

使用方法

LowPoly.generate(inputStream,outputStream);

或者

/**
 * 生成low poly风格的图片
 *
 * @param inputStream  源图片
 * @param outputStream 输出图片流
 * @param accuracy     精度值,越小精度越高
 * @param scale        缩放,源图片和目标图片的尺寸比例
 * @param fill         是否填充颜色,为false时只绘制线条
 * @param format       输出图片格式
 * @param antiAliasing 是否抗锯齿
 * @param pointCount   随机点的数量
 * @throws IOException
 */
LowPoly.generate(inputStream, outputStream, accuracy, scale, fill,format, antiAliasing, pointCount);

jar包使用方法

下载

java -jar LowPoly-1.0.jar input_filename output_filename

或者

java -jar LowPoly-1.0.jar input_filename output_filename accuracy scale fill format antiAliasing pointCount

原理介绍

Low Poly即低多边形,和提高图片精度相反,我们需要降低图片精度来达到low poly的效果

整个算法最主要的就是两步

  1. 降低精度
  2. 提取图像信息

使用提取到的图像边缘点和一些随机点生成三角形,并着色,即可完成图片的low poly化

降低精度

降低精度采用的是使用三角形粗化像素点的方法,具体实现使用Delaunay算法,具体实现参见Delaunay.java

如果单纯只是降低精度的效果图如下:

其中如果去掉填充的颜色(由于点是随机生成的,所以两次生成的点不一样)

取的点越多,生成的图片就会越接近原图片

提取图像信息

采用Sobel算法进行边缘检测,提取图像关键信息,具体参见Sobel.java

采集到的点

由于源图片信息量较大采集到的点也就很多,最终效果是由随机的点和采集到的点叠加产生的。

本站资源仅限于学习研究,严禁从事商业或者非法活动! 源码搜藏网所有源码来自互联网转载与用户上传分享,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!

绘图Drawing下载排行

最新文章