把一组平面瓷砖缝成马赛克
stitch2d的Python项目详细描述
缝合2d
此脚本中的某些功能需要opencv 3.0和imagemagick。
stitch2d是一个python脚本,可用于缝合二维 把瓷砖做成马赛克。您可以从命令行安装它 使用pip:
pip install stitch2d
概述
用户可以手动设置偏移(如果偏移是常规的)或 自动(如果安装了opencv)。如果使用opencv,则平铺 不能自信地放置被排除在最后的马赛克之外。瓷砖 在任何情况下都不会扭曲。
本模块中提供的选项相当基本。对于更复杂的 tileset,请考虑使用图像拼接 斐济的插件。
文档 可从ReadtheDocs获得。
使用命令行工具
的tileset示例 马赛克 (18.5 MB;8 列,蛇形)
首先收集要缝合为子目录的平铺集 一个文件夹。用一个命令处理的每个子目录将 使用相同的参数进行处理,因此 平铺设置应该非常相同。
可以从命令行访问四个子命令: 拼接、合成、组织和选择。除了下面的文字外, 有关这些命令的信息可以从命令访问 使用-h的行。
马赛克
使用mosaic子命令将一组瓷砖缝合在一起。这个 生成的马赛克保存在包含 源磁贴。从命令行:
stitch2d mosaic
可以指定其他关键字参数来控制平铺的方式 缝合:
stitch2d mosaic -path /path/to/tiles -matcher brute-force -scalar 0.5 -threshold 0.7 --equalize_histogram --create_jpeg
可选参数包括:
- -path :指定源磁贴的路径。这个论点有效 在除organize之外的所有子命令中。如果未指定路径,则 提示您选择目录。
- -numcols :指定马赛克中的列数。如果没有 如果有,系统将提示用户输入此信息。
- –raster , –snake :指定tileset是raster还是 蛇咬的如果两个参数都未提供,则将提示用户 有关此信息。
- –创建JPEG :指定是否创建半大小的JPEG 最终马赛克的衍生物。
- –手动 :强制手动选择偏移量。剧本会 如果未安装opencv,则默认为手动匹配。
以下参数可用于调整opencv的行为:
- -matcher :指定用于特征匹配的算法。必须 要么是"暴力"要么是"弗兰恩";"暴力"是默认值。 注意: 法兰匹配器已证明不可靠,目前 已禁用。
- -scalar :指定调整源磁贴大小的量 在尝试匹配功能之前。必须是介于0和之间的小数 1;默认值为0.5。较小的值更快,但是 可能不太准确。马赛克本身将由 全尺寸瓷砖。
- -阈值:下限测试的阈值。必须是小数 介于0和1之间;默认值为0.7。值越低,给出的结果越少 但更好的匹配。
- –均衡器直方图:指定是否尝试均衡器 源图像中的直方图。这可以增加对比度并产生 更好的匹配,但会增加计算时间。
也可以直接传递这些关键字stitch2d.mosey()。
有关opencv参数的更多信息,请参见 opencv python 教程
合成
通过重新着色和叠加sem元素图制作复合图像 不同元素的数据。
stitch2d composite -path /path/to/mosaics -red Fe -green Mg -blue Al
复合命令接受 -path 、 -label 和 -创建上面为马赛克定义的jpeg参数。附加的 参数用于将颜色映射到元素。有效的颜色参数 包括红色 , -绿色 , -蓝色 , -青色 , -洋红色 , -黄色 、 -黑色 和 -白色 。图像中的像素 合成应该是这八种颜色的色调/阴影。
复合函数使用文件名来确定 如图所示,每个马赛克的文件名应该以{element}结尾。
选择
使用选择器工具选择要从将来的sem元素中排除的磁贴 映射。此工具执行以下操作:
- 创建用于Noran System Seven的点文件。文件包含 从原始网格保留的每个平铺的中心点。 积分文件尚未测试。
- 将排除的磁贴移动到源文件夹中的目录。这些瓷砖 如果再次运行选择脚本,将自动重新集成。
- 生成要跳过的平铺列表。马赛克脚本使用这个列表 填补马赛克中被剔除瓷砖的空隙。
- 生成显示最终选择网格的屏幕快照。
要使用选择脚本:
stitch2d select
单击要删除的平铺,或单击深色平铺以 恢复原状。与马赛克脚本一样,select命令接受 使用-path标志的可选路径参数。
组织
此命令将noran system7生成的元素映射组织到 适合镶嵌的元素特定文件夹。它接受可选的 源目录和目标目录的参数:
stitch2d organize /path/to/source /path/to/destination