我试图使用 QImage 来加载图像并使用在整个图像上移动的模板子图像检查相等性。代码如下:
for i in range(image.height() - backgroundMask.height() + 1):
for j in range(image.width() - backgroundMask.width() + 1):
subsection = image.copy(j, i, j + backgroundMask.width() - 1, i + backgroundMask.height() - 1)
if subsection == backgroundMask:
print 'equality action here'
else:
print 'non-equality action here'
问题是它花费了太多时间来做到这一点。使用 Python Imaging Library 的类似操作太快了。两个主要操作是 copy() 和 operator==() 。我认为大部分时间都花在了 copy() 上,因为它只在那里执行复制。如果它只是一个懒惰的写时复制操作,那么它会更快。
有什么方法可以更快地做到这一点?