先看图,再讲原理,生成效果对比:
机器全自动生成,是不是很酷炫?:)
数字图像,由无数个像素组成,通常情况下,每个像素包含有RGB三个值,算法原理其实很简单:
一,遍历所有像素,将RGB的值转换为灰度值,公式为gray =(r+g+b)/3;
二,同时判断这个灰度值的大小是否大于一个阈值,通常为110,大于阈值的rgb三个值都置为255,也就是白色,小于阈值的都置为0,也就是黑色。
三,输出第二步生成的图像,即是如上图所示效果。
我在github上开源了相关程序,我的程序用了javacv,也就是opencv的java版本。地址如下:
https://github.com/Supermax197/oldposter
接下来,再发几幅我做出来的效果图: