Seam Erasure

Build Status

Seamlessly erase seams from your favorite 3D models.

Textures seams often produce errors when bi-linearly interpolated. This results in a visible seam line or other undesired artifacts. The goal of this project is to devise a numerical solution to this problem by minimizing the difference between interpolated values of edge pairs. Works for various texture maps regardless of useage (e.g. color maps, normal maps, displacement maps, ambient occlusion, geometry images, and skinning weight textures).

Read more:

Installation

To install Seam Erasure use the following command in your terminal:

pip install seam-erasure

This is the preferred method to install Seam Erasure.

If you perfer to use Seam Erasure without installing it, you can clone the repo:

git clone https://github.com/zfergus/seam-erasure.git

Dependencies

If you install Seam Erasure using pip all dependencies will be installed. If you choose to use Seam Erasure without installing, you can install all required dependencies using pip install -r requirements.txt.

Dependencies include:

Usage

If you install using pip a seam-erasure tool will be installed. You can use Seam Erase from the command line using the following command:

seam-erasure path/to/input_model path/to/input_texture [-h] [-o path/to/output_texture] [-g] [--sv {none,texture,lerp}] [-d]

Positional arguments:

Optional arguments:

Note: if you did not install the code replace seam-erasure in the above command with python main.py.

Files

Web Browser UI

This repository also includes a Flask based server implementation that can be run locally. This provides a simple webpage interface to provide model/texture input and select options. To get this user interface run:

python server.py

This will start a server on the localhost. Navigate to the outputted address in your choice of web browser to view the interface.

Examples

Diffuse Textures

Before After

Normal Maps

Before After

Ambient Occlusion

Before After

Geometry Images

Before After