我正在做一个关于手写识别的项目,所以我有图片,我必须识别其中的文本,所以我所做的是,我把图片中的所有字符都做成一个对象(轮廓),问题是在打印完字符后,它的打印未排序(或按x或按y),我需要的是从顶部排序一个列表完整的对象从左到右下。你知道吗
我试着按y坐标排序,然后按x坐标排序,从一开始就按x坐标排序。你知道吗
a.sort(key = operator.attrgetter("intRectx"))
a.sort(key = operator.attrgetter("intRectY"))
我希望该项目将打印的字符,因为他们写的。你知道吗
class Data():
num1 = None
num2 = None
intRectX = 0 # x
intRectY = 0 # y
num3 = 0
num4 = 0
num5 = 0.0
a = [] # we will fill these shortly
for Data in all: # for all contours
if Data.checkIfContourIsValid(): # check if valid
a.append(Data) # if so, append to valid contour list
a.sort(key = lambda x: (x.intRectY, x.intRectx))
使用返回
tuple
的lambda
表达式排序:编辑:
如果要按y排序,则x将交换顺序:
相关问题 更多 >
编程相关推荐