作者chabear (~ 问 号 ~)
看板Programming
标题[问题] 用圆形将图片马赛克化
时间Wed Apr 22 14:22:03 2015
因为工作需要,需要用圆形色块将图片马赛克化。
可参考下图。
https://dl.dropboxusercontent.com/u/9424057/Web%20Share/RoundMosaic.jpg
目的是希望将客户提供的图片,用我公司色盘中的圆形色块来取代。
我公司的色盘大概50种颜色。
目前是用人工使用Adobe Illustrator,
然後新增很多圆形色块并填上我公司色盘的颜色。
这步骤很耗时间,我想将此步骤程式化。
我的想法是:
1.将一张图片用圆形的色块组成,
2.然後用色差公式
现在2.的部份应该ok。
1.的部份就不知从何着手,麻烦给点迷津,谢谢。
我的程式背景是c居多,有写过vba,mfc,但是都不算精通。
但是如果有方向的话,我可以去学。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.163.157.133
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Programming/M.1429683726.A.548.html
1F:→ AndCycle: 先不要想圆形, 先想他们都是一个点 59.120.152.218 04/22 14:33
如果马赛克组成元素是方形的话,这样摆设就类似图片的像素摆设方式。
这比较好处理,这边的话我是用excel填满颜色加上vba去做马赛克化的。
但是用圆形来马赛克画图的话,每一列的圆形是交叠的,
跟图片像素的摆设就太一样,所以也不能用excel的表格去模拟了。
方形与圆形的摆设方式,请参考下图。
https://dl.dropboxusercontent.com/u/9424057/Web%20Share/RoundMosaic-2.jpg
※ 编辑: chabear (118.163.157.133), 04/22/2015 14:51:37
※ 编辑: chabear (118.163.157.133), 04/22/2015 15:05:57
2F:推 littleshan: 先把圆型叠好,然後依照每个圆型的 60.250.32.97 04/22 16:02
3F:→ littleshan: 圆心位置算出它在原影像中的位置 60.250.32.97 04/22 16:02
4F:→ littleshan: 然後取出该位置的颜色 60.250.32.97 04/22 16:02
5F:→ littleshan: 因为原影像中的位置不一定刚好整数 60.250.32.97 04/22 16:03
6F:→ littleshan: 这时候就用内插法取邻近pixel平均 60.250.32.97 04/22 16:03
一张图片中,圆形色块通常都会上千个甚至上万个。
请问有没有建议我用什麽方式去写?用什麽软体之类的。
※ 编辑: chabear (118.163.157.133), 04/22/2015 16:30:28
7F:推 littleshan: 呃,你的问题是算出每个圆形的位置吗? 114.32.28.146 04/23 00:10
8F:推 cjcat2266: 原理跟六角形一样,可以从这个范例改 160.33.43.15 04/23 01:19
10F:→ cjcat2266: 这是Pixel Bender,可以套入PS或者AE用 160.33.43.15 04/23 01:20
11F:推 cjcat2266: 关键字hexogonal pixelation 160.33.43.15 04/23 01:21
12F:推 bdvstg: 让我联想到SuperPixel 140.96.40.71 04/28 14:44