All Projects → crud89 → Texturize

crud89 / Texturize

Licence: MIT license
A unified framework for example-based texture synthesis, developed alongside my master's thesis.

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
powershell
5483 projects

Projects that are alternatives of or similar to Texturize

neuraltexture
Learning a Neural 3D Texture Space from 2D Exemplars [CVPR 2020]
Stars: ✭ 88 (+486.67%)
Mutual labels:  computer-graphics, texture-synthesis
texture generator
Generating procedural textures
Stars: ✭ 23 (+53.33%)
Mutual labels:  texture-generation, procedural-textures
OMETIFF.jl
I/O operations for OME-TIFF files in Julia
Stars: ✭ 18 (+20%)
Mutual labels:  image-analysis, image-analysis-workflows
C-Raytracer
A CPU raytracer from scratch in C
Stars: ✭ 49 (+226.67%)
Mutual labels:  computer-graphics, textures
Quantitative-Big-Imaging-2018
(Latest semester at https://github.com/kmader/Quantitative-Big-Imaging-2019) The material for the Quantitative Big Imaging course at ETHZ for the Spring Semester 2018
Stars: ✭ 50 (+233.33%)
Mutual labels:  image-analysis, texture-analysis
computer-vision-notebooks
👁️ An authorial set of fundamental Python recipes on Computer Vision and Digital Image Processing.
Stars: ✭ 89 (+493.33%)
Mutual labels:  computer-graphics, image-analysis
procjam2018
Graph.ical, a procedural texture authoring application developed for PROCJAM 2018.
Stars: ✭ 42 (+180%)
Mutual labels:  texture-synthesis, texture-generation
texturize
🤖🖌️ Generate photo-realistic textures based on source images. Remix, remake, mashup! Useful if you want to create variations on a theme or elaborate on an existing texture.
Stars: ✭ 495 (+3200%)
Mutual labels:  texture-synthesis, texture-generation
SyConn
Toolkit for the generation and analysis of volume eletron microscopy based synaptic connectomes of brain tissue.
Stars: ✭ 31 (+106.67%)
Mutual labels:  image-analysis
Multimodal-Shape-Completion
code for our ECCV 2020 spotlight paper "Multimodal Shape Completion via Conditional Generative Adversarial Networks"
Stars: ✭ 73 (+386.67%)
Mutual labels:  computer-graphics
color-aware-style-transfer
Reference code for the paper CAMS: Color-Aware Multi-Style Transfer.
Stars: ✭ 36 (+140%)
Mutual labels:  texture-mapping
Volume-Unity-Plugin
A Unity3D plugin for rendering Volume assets
Stars: ✭ 68 (+353.33%)
Mutual labels:  computer-graphics
texture
Texture Synthesis
Stars: ✭ 33 (+120%)
Mutual labels:  texture-synthesis
Procedural-Terrain-Generator-OpenGL
Procedural terrain generator with tessellation | C++ OpenGL 4.1
Stars: ✭ 98 (+553.33%)
Mutual labels:  procedural-textures
fastimage
Find the type or size of an image
Stars: ✭ 31 (+106.67%)
Mutual labels:  image-analysis
QuadTreeAndroid
Library that helps to implement the QuadTree in android, by using splitting images
Stars: ✭ 30 (+100%)
Mutual labels:  image-analysis
genalog
Genalog is an open source, cross-platform python package allowing generation of synthetic document images with custom degradations and text alignment capabilities.
Stars: ✭ 234 (+1460%)
Mutual labels:  synthetic-images
ST-CGAN
Dataset and Code for our CVPR'18 paper ST-CGAN: "Stacked Conditional Generative Adversarial Networks for Jointly Learning Shadow Detection and Shadow Removal"
Stars: ✭ 64 (+326.67%)
Mutual labels:  computer-graphics
Python Computer Vision from Scratch
This repository explores the variety of techniques commonly used to analyze and interpret images. It also describes challenging real-world applications where vision is being successfully used, both for specialized applications such as medical imaging, and for fun, consumer-level tasks such as image editing and stitching, which students can apply…
Stars: ✭ 219 (+1360%)
Mutual labels:  image-analysis
platonicgan
Escaping Plato’s Cave: 3D Shape from Adversarial Rendering [ICCV 2019]
Stars: ✭ 40 (+166.67%)
Mutual labels:  computer-graphics

Texturize: A framework for example-based Texture Synthesis

Texturize is a framework, that has been created alongside my master's thesis. Most of the researchers in the field of texture synthesis do either not provide any implementation samples or have abandoned their sources, so that they are no longer accessible. My motivation was to create a framework, that can be used as a starting point to implement different algorithms and make them comparable, without requiring to re-implement common principles. It provides a unified infrastructure, that allows to customize and mix various aspects of different synthesis algorithms. It follows a modular design that allows to build new modules or customize existing ones. Typical tasks of example-based texture synthesis have been carefully studied and generalized in order to construct a common workflow. That way, I was able to create a prototype synthesizer, that is capable of synthesizing materials for Physically Based Rendering (PBR) from low-resolution exemplars.

The framework must not be confused with the GIMP PlugIn of the same name.

What's it all about?

In general, texture synthesis is a problem field, that researches algorithms, that can create images which are used to add detail to geometric surfaces in computer graphics. Those images are called textures and if they are not created by humans, they are called synthetic textures. There are two major areas in texture synthesis:

  • Procedural synthesizers are algorithms that form new textures from mathematical models.
  • Non-Parametric synthesizers take existing texture exemplars and aim to create new, visually similar textures with higher resolution.

Texturize is a framework for non-parametric synthesizers. Those algorithms have applications in many different computer graphics problems. They are used in image editing (e.g. to fill "holes" or transfer style), video editing and others. When creating this framework, I focused on re-mixing existing textures, i.e. synthesizing new images, that look visually similar to the exemplar, but do not feature heavy repetitions. This can, for example, be used to cover geometric surfaces without visible tiling artifacts.

If you want a more detailed introduction into texture synthesis, consider taking a look int my thesis.

Getting started

Building a synthesizer is a process that involves multiple steps. For convenience, they are described in the getting started guide. A reference implementation, called Sandbox, is also provided. You can learn more about it in the sandbox guide.

Custom framework builds

In case you want to include the framework into other applications, or require different versions of its dependencies, a custom build might be required. Please refer to the building guide for more information.

License

The project is currently licensed under the MIT license. Please refer to the COPYING file for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].