由于您的图像度过了一个棋盘游戏的电脑屏幕,变化不能“太疯狂了”。我刚刚得到的东西为同一类型的问题的工作。我通过裁剪一直到“核心”归我的图片。
以每个字母5个样品,你可能已经完全覆盖。
我在图像文件名开始组织了“冲压”标识符我的工作。然后我可以排序的文件名(=标识符)。 Windows资源管理器允许您查看与中图标的目录打开。我会用“假改名”行动取得的标识,并将其复制到Python程序。
这里是可以翻新任何的这些问题的一些工作代码。
def getLetter(im):
area = im.height * im.width
white_area = np.sum(np.array(im))
black_area = area - white_area
black_ratio = black_area / area # between 0 and 1
if black_ratio == .740740740740740 or \
black_ratio == .688034188034188 or \
black_ratio == .7407407407407407:
return 'A'
if black_ratio == .797979797979798:
return 'T'
if black_ratio == .803030303030303:
return 'I'
if black_ratio == .5050505050505051 or \
black_ratio == .5555555555555556:
return 'H'
############ ... etc.
return '@' # when this comes out you have some more work to do
注意:这可能是相同的标识符(这里我们使用black_ratio)可能指向多个字母。如果它发生,你需要采取的图像的另一个属性它们之间进行区分。