首页 > 解决方案 > 根据将区域中的一小部分像素与图像文件夹进行比较来对图像进行排序,并将它们移动到单独的文件夹中

问题描述

这是图像 1现在 是图像 2 ,我希望程序基本上拍摄图像的这一部分(注意 - 重要的是该部分将位于图像的左下角)

并将其与其余图像进行比较,如果找到匹配,将匹配的文件移动到同一个文件夹中,如果图像不匹配,它会转到下一个并检查匹配,当它完成所有操作时,它将去第一个不匹配的图像并从中提取一部分,就像image一样,并再次执行整个过程,但进入一个新的单独文件夹。

结果应该是一个文件夹,其中包含所有图片的多个文件夹,其中每个文件夹在文件夹中的每个图像中都有相似的部分。

我已经尝试为它制作一个宏,但在尝试了 20 次后我放弃了,也许宏程序让我陷入了瓶颈,但除了我不擅长的编码之外,我不知道有任何其他方法可以做到这一点。(宏 -

我只知道如何在 python 中编码并且只知道初学者的东西,所以我不知道该怎么做。

标签: pythonimagesortingpixeldetection

解决方案


我建议使用 skimage。如果将它们作为数组加载,然后定义要检查的像素,则可以轻松比较两个图像:

from skimage import io

testimage = io.imread("test.png")
testimage2 = io.imread("test2.png")
sameImg = True

for y in range(1200,1400):
   for x in range(0,200):
       if testimage[y][x][0] != testimage2[y][x][0]:
           sameImg = False

print(sameImg)

然后你可以用 os 移动它们

os.rename("path/to/current/file.foo", "path/to/new/destination/for/file.foo")

把它放在一个循环中,你就完成了


推荐阅读