把一组平面瓷砖缝成马赛克

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java当我点击MainActivity中的按钮以显示其他活动时,它不起作用   java游戏!框架:在请求之间获取控制器的组件/字段/对象   JavaBlackBerry:调用计算器并检索值?   java Struts2 jQuery插件提交按钮   java无法将更新的画布绘制到活动   java如何将Gson值放入HashMap   使用截取时出现java错误:RecyclerView:未连接适配器;跳过布局   java组织。冬眠HibernateException:在Hibernate搜索中编制索引时出错(在事务完成之前)   java Swagger服务器存根生成工作流   java JInternalFrame底部阴影问题   java nio缓冲区类中limit()的用法是什么   java水平回收器视图内部选项卡布局   java Maven无法找到依赖项   java如何管理不同应用程序实例的权限文件?