如何用 Processing 修一张美艳的自拍照?| 可视化与生成设计专栏

Mix Lab味知实验室

共 1311字,需浏览 3分钟

 ·

2021-03-18 23:01


Processing

是一种开源编程语言,专门为电子艺术和视觉交互设计而创建,其目的是通过可视化的方式辅助编程教学,并在此基础之上表达数字创意



半色调图像(Halftone Image)

指的是通过有规律的圆点表现画面的特殊效果。


这些基础图形(通常为圆点)可以通过大小、间距等有层次的变化来表现图案中的明暗过渡,使图像的局部平均灰度接近于原始图像的局部平均灰度,从而实现在单色/多色二值呈色设备上的最优再现,常见的加网阳片菲林和阴片菲林以及印刷图像均属于半色调图像。



由于人眼的低通特性,在一定距离观察下,人眼会将空间中接近的部分,视为一个整体,因此人所观察到的图像,会呈现出与连续调图像相似的效果。与之相对应的是连续调图像(Continues-Tone Image)。



Processing 实现黑白半调效果

由于这里通过明度去控制网点大小,从而去还原图像原本的特征,所以在对于明度变化较丰富的图片最终结果的效果比较好。


PImage img;//导入库void setup(){  size(500,500);//设置画布大小  img = loadImage("david.jpg");//加载图片,图片需要与文件处于同一文件夹内  img.resize(500,500);//设置图片大小  frameRate(10);//设帧速率,默认每秒为30}void draw(){  background(255);//如果不写这条命令,每次运行的结果就会保留在背景上  fill(0);//圆形填充色为黑色  noStroke();//圆形无描边  float tiles = mouseX/10;  float tileSize = width/tiles;
translate(tileSize/2,tileSize/2);//改变原点位置
for(int x =0; x<tiles; x++){ for(int y =0; y<tiles; y++){ color c = img.get(int(x*tileSize),int(y*tileSize)); float size = map(brightness(c),0,255,tileSize,0);//拾取坐标点亮度,其取值范围在0~255范围 ellipse(x*tileSize,y*tileSize,size,size);//像素点绘制,越亮 } }}


运行结果




看到这里的你们,还可以尝试将该效果更改为彩色半调效果或者改变网点的形状,也欢迎加入我们的读者专栏(文末),与我沟通!





下期预告:彩色半调效果,应该怎么做呢?

参考:
百度:半色调
https://www.youtube.com/watch?v=XO8u0Y75FRk


”再三需慎意 第一莫欺心“
产品设计师



浏览 69
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报