30
蒙娜丽莎调色板中的美国哥特式:重新排列像素
您将得到两个真实的彩色图像,即“源”和“调色板”。它们不一定具有相同的尺寸,但是可以保证它们的面积相同,即,它们具有相同数量的像素。 您的任务是创建一种算法,该算法仅使用调色板中的像素即可制作最精确的“源”副本。调色板中的每个像素在此副本中的唯一位置必须使用一次。副本必须与来源具有相同的尺寸。 可以使用此Python脚本来确保满足以下约束: from PIL import Image def check(palette, copy): palette = sorted(Image.open(palette).convert('RGB').getdata()) copy = sorted(Image.open(copy).convert('RGB').getdata()) print 'Success' if copy == palette else 'Failed' check('palette.png', 'copy.png') 这是几张测试图片。它们都具有相同的面积。您的算法应适用于任何两个面积相等的图像,而不仅仅是American Gothic和Mona Lisa。您当然应该显示输出。 感谢维基百科提供著名绘画的图像。 计分 这是一场人气竞赛,因此获得最高投票答案。但是我敢肯定,有很多方法可以使这个创意! 动画 millinon的想法是,看到像素重新排列自己会很酷。我也这么想,所以我写了这个 Python脚本,该脚本以相同的颜色拍摄两个图像,并在它们之间绘制中间图像。更新:我刚刚对其进行了修改,因此每个像素都必须移动最小量。它不再是随机的。 首先是蒙娜丽莎(Mona Lisa)变成了aittsu的美国哥特式。接下来是bitpwner的American Gothic(来自Mona Lisa)变成了aditsu。令人惊讶的是,两个版本共享完全相同的调色板。 结果确实相当惊人。这是aittsu的彩虹蒙娜丽莎(Mona Lisa)(慢速显示细节)。 最后的动画不一定与比赛有关。它显示了使用我的脚本将图像旋转90度时发生的情况。