在我的工作中,我们使用一个专用的MS ACCESS程序(让我们称之为XYZ)来帮助我们的工作。
我不能访问这个程序的源代码/API,但是我想编写一个python脚本来帮助我自动化排序任务(这个任务还没有实现),我告诉您。
我们采取12个随机对象/工具/件,它们是由一个具有唯一id的条形码识别的(例如,50286,50285,5027,50280.),我们用条形码枪扫描仪拍摄它们,在程序XYZ中我们得到了这个结果。
分拣前
这是一张电脑的屏幕截图,我用手在右边加了蓝色的数字,只是为了清晰,向你解释我想要完成的任务。记住,我们随机地拿走了这些东西,现在我们必须对它们进行分类。它们是按程序XYZ排序的,记住一些不重要的重要排序内容。
这个脚本生成两个屏幕截图,第一个在排序列表之前,第二个在排序列表之后。
经过这次排序,我的名单看上去像这样。
分拣后
我要我的脚本输出数字3,12,11,9,8,7,10,6,4,5,1,2。
我认为这是一个简单的任务,因为我已经设法得到了例如Element_#1_in_before_list
50826之前
和Element_#11_in_after_list,
50286之后
然而,我不知道第一项现在是第十一元素,因为这两张图片并不相似,因为随机的烦人噪音蓝/青色像素(Truetype?)
我试着用OCR来识别字符,但有时它失败了,而且太复杂了。
我试图转换为黑白,但噪声像素有时变成黑色或白色,这两幅图像不完全匹配(我想出了执行md5sum的解决方案,以判断它们是否相同)
我怎样才能解决这个问题?
也许很简单但我是菜鸟。
帮我给XYZ开发人员惊喜!!
发布于 2015-12-26 19:09:05
你试过用一种不精确的方式匹配吗?您可以使用最低的MSE将列表1中的每个图像与列表2中的图像匹配。
def mse(imageA, imageB):
# the 'Mean Squared Error' between the two images is the
# sum of the squared difference between the two images;
# NOTE: the two images must have the same dimension
err = np.sum((imageA.astype("float") - imageB.astype("float")) ** 2)
err /= float(imageA.shape[0] * imageA.shape[1])
# return the MSE, the lower the error, the more "similar"
# the two images are
return err
MSE函数的来源:http://www.pyimagesearch.com/2014/09/15/python-compare-two-images/
https://stackoverflow.com/questions/34473483
复制相似问题