7

python skimage骰子作画

 3 years ago
source link: http://blog.ilibrary.me/2021/01/28/python-skimage%E9%AA%B0%E5%AD%90%E4%BD%9C%E7%94%BB
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
python skimage骰子作画
欢迎转载,请支持原创,保留原文链接:blog.ilibrary.me

前面根据阮一峰的一篇博客骰子作画,写了一个把图片通过骰子作画的工具。 算法是抄的,用python实现,然后加了一些功能。

它的核心思想就是把一张图片划成16乘16的小区域,每个区域取它的灰度值,然后根据灰度值划成六段,编号为一至六,然后将一至六映射到骰子的一到六个点。

于是,一张彩色的图片就可以通过这种方式变成骰子拼成的黑白图片。

这个算法最早来自于一个国外的博主Scott MacDonald,他最早公布了他的算法,在这个地方

我用python加SK1米即实现了这个算法,算法已经公开在github上面,大家都可以去看, 在这里。 目前大概3k颗左右的骰子就可以做出一副效果不错的骰子图。

下面是用到的骰子.

dice dice dice dice dice dice

下面是原图和骰子作画效果.

dice dice

后续呢,打算用机器学习做一些优化,主要是针对有方向性的骰子,比如说二号三号六号,根据图像特征做旋转。

这种优化只能是局部优化,对整体影响不大,但细节上应该会提升一些。

一个需要注意的地方是,rgb取灰度值的时候Red, Green, Blue权重不是一样的,是根据人的直观感受做了调整的。

def rgb2gray( argb):
    return int(0.3*argb[0] + 0.59*argb[1] + 0.11*argb[2])
扫描二维码分享到微信朋友圈Loading...Please wait
qrcode.php?url=%2F2021%2F01%2F28%2Fpython-skimage%25E9%25AA%25B0%25E5%25AD%2590%25E4%25BD%259C%25E7%2594%25BB

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK