首先感谢我从本网站获得的所有答案。
我是OpenCV的新手,非常喜欢使用这个神奇的工具。 我正在尝试构建的是一个应用程序,它可以制作一个停止运动序列,这是某人在写作时写在空白纸上的内容。棘手的部分是我不想用文字前面的作家手保存图像。
在过去的两周里,我一直在使用Python和OpenCV 2开发这个应用程序。 已经处理了透视变化和简单的图像调整以仅显示文本(非常感谢此博客:http://opencvpython.blogspot.com.br/并且它是数独求解器示例)。 我的最新成就是检测手是否在图像前面,我使用cv2.threshold和cv2.countNonZero来查看图像中是否有太多的黑色像素,(我知道它有时可能会失败但我现在工作,有没有人有更好的想法如何处理这个?)所以基本上如果作家从页面中移开他的手,图像被保存,如果他的手在页面上,它不会保存。
我的下一个想法是应用相同的逻辑但是对于页面的各个部分,例如:
这是我到目前为止所得到的,显然不起作用,因为我遇到了将图像作为阵列出现的麻烦
p=2 #number of pieces accross page, starting with 2
w=width/p
h=height/p
new_img = [] #new image
for y in range(np.size(firstimage,0),h):
for x in range(np.size(firstimage,1),w):
old_part = firstimage[y:y+h,x:x+w]
new_part = newimage[y:y+h,x:x+w]
if (countBlackPixels(new_part) < int((countBlackPixels(old_part))*5 )):
new_img = new_img + new_part
else:
new_img = new_img + old_part
new_img = new_img.astype(np.float32)
有人可以帮我解决如何进行此迭代并使用其他部分构建新图像吗?
谢谢!