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