python - 根据将区域中的一小部分像素与图像文件夹进行比较来对图像进行排序,并将它们移动到单独的文件夹中
问题描述
这是图像 1现在 是图像 2 ,我希望程序基本上拍摄图像的这一部分(注意 - 重要的是该部分将位于图像的左下角)
并将其与其余图像进行比较,如果找到匹配,将匹配的文件移动到同一个文件夹中,如果图像不匹配,它会转到下一个并检查匹配,当它完成所有操作时,它将去第一个不匹配的图像并从中提取一部分,就像image一样,并再次执行整个过程,但进入一个新的单独文件夹。
结果应该是一个文件夹,其中包含所有图片的多个文件夹,其中每个文件夹在文件夹中的每个图像中都有相似的部分。
我已经尝试为它制作一个宏,但在尝试了 20 次后我放弃了,也许宏程序让我陷入了瓶颈,但除了我不擅长的编码之外,我不知道有任何其他方法可以做到这一点。(宏 -宏)
我只知道如何在 python 中编码并且只知道初学者的东西,所以我不知道该怎么做。
解决方案
我建议使用 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")
把它放在一个循环中,你就完成了
推荐阅读
- database - delphi如何输出某一列下的所有行?
- unix - 使用 SqlLoader 加载数据 不要使用自动扩展表空间
- haskell - 在 Monad 实例定义中无法将类型“a”与“b”错误匹配
- python - 多处理挂起问题
- ios - xcode 上的 Flutter audioplayers 插件错误(未找到模块“audioplayers”)
- python - 有没有办法每 x 秒有效地查询一次 SQL 数据库
- c# - 在 asp.net core 2.2 中找不到类型或命名空间名称“Worker”(您是否缺少 using 指令或程序集引用?)?
- java - 使用 Selenium Java 测试用例调用 CLICK 时获取“org.openqa.selenium.ElementClickInterceptedException”
- angular - Angular 8:如何使用 Jasmine 监视常量/静态属性(服务单元测试)
- microsoft-graph-api - 微软图形 | 使用“gt”过滤器获取消息充当“ge”