如何解决如何从 Python 中的一系列图像生成一系列 (x,y) 坐标?
如果我在 .jpg、.png 等中有一系列形状都是 stroked 有没有办法解析这些图像并输出一组 x,y 坐标以重新绘制形状任何应用,例如iOS、Android 等。理想情况下,如果我可以从左上角开始以原点 0,0 镜像坐标系,我会很高兴,但不确定是否可以这样做。
这些描边形状很可能是黑白图像。
可能的图像示例:
我觉得这是可能的,因为图像只是一系列像素,但我不知道如何去做。首选 Python,但任何其他语言也可以。
解决方法
您可以使用模块 PIL
和 numpy
来做到这一点。
代码:
from PIL import Image
from numpy import asarray
#convert your png file to data
img = Image.open('Sample.png')
print(list(img.getdata()))
numpydata = asarray(img)
#re-draw the picture from data
redraw_img = Image.fromarray(numpydata)
redraw_img.show()#show a picture exactly the same as the OP's picture
结果:
[(1,1,1),(0,0),(1,(2,2,2),(6,6,6),(12,12,12),(17,17,17),(33,33,33),(51,51,51),(75,75,75),(105,105,105),(134,134,134),(164,164,164),(192,192,192),(211,211,211),(228,228,228),(239,239,239),(246,246,246),(254,254,254),(255,255,255),(253,253,253),(252,252,252),(249,249,249),(248,248,248),(247,247,247),(245,245,245),(243,243,243),(241,241,241),(237,237,237),(235,235,235),(236,236,236),(234,234,234),(233,233,233),(232,232,232),(231,231,231),(223,223,223),(219,219,219),(214,214,214),(207,207,207),(197,197,197),(187,187,187),(177,177,177),(166,166,166),(154,154,154),(146,146,146),(127,127,127),(118,118,118),(111,111,111),(108,108,108),(102,102,102),(99,99,99),(97,97,97),(96,96,96),(98,98,98),(100,100,100),(103,103,103),(106,106,106),(110,110,110),(114,114,114),(117,117,117),(123,123,123),(128,128,128),(135,135,135),(140,140,140),(145,145,145),(151,151,151),(161,161,161),(168,168,168),(173,173,173),(179,179,179),(188,188,188),(194,194,194),(200,200,200),(206,206,206),(220,220,220),(224,224,224),(238,238,238),(250,250,250),(251,251,251),(226,226,226),(218,218,218),(202,202,202),(193,193,193),(180,180,180),(172,172,172),(163,163,163),(160,160,160),(159,159,159),(185,185,185),(196,196,196),(203,203,203),(244,244,244),(5,5,5),(11,11,11),(18,18,18),(34,34,34),(133,133,133),(162,162,162),(190,190,190),(212,212,212),(242,242,242),(240,240,240),(225,225,225),(222,222,222),(221,221,221),(217,217,217),(216,216,216),(213,213,213),(208,208,208),(165,165,165),(141,141,141),(119,119,119),(93,93,93),(86,86,86),(83,83,83),(80,80,80),(77,77,77),(74,74,74),(72,72,72),(71,71,71),(73,73,73),(76,76,76),(78,78,78),(84,84,84),(88,88,88),(91,91,91),(101,101,101),(113,113,113),(124,124,124),(150,150,150),(156,156,156),(195,195,195),(210,210,210),(215,215,215),(184,184,184),(137,137,137),(132,132,132),(138,138,138),(143,143,143),(152,152,152),(175,175,175),(229,229,229),...
参考: https://www.geeksforgeeks.org/how-to-convert-images-to-numpy-array/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。