https://github.com/cheind/inpaint

:pencil2: Inpaint is a C++ library providing image inpainting algorithms

https://github.com/cheind/inpaint

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.1%) to scientific vocabulary

Keywords

image-processing inpainting seamless-copy
Last synced: 9 months ago · JSON representation

Repository

:pencil2: Inpaint is a C++ library providing image inpainting algorithms

Basic Info
  • Host: GitHub
  • Owner: cheind
  • License: other
  • Language: C++
  • Default Branch: master
  • Homepage:
  • Size: 993 KB
Statistics
  • Stars: 165
  • Watchers: 20
  • Forks: 51
  • Open Issues: 5
  • Releases: 0
Topics
image-processing inpainting seamless-copy
Created over 11 years ago · Last pushed over 2 years ago
Metadata Files
Readme License

README.md

Inpaint

Inpaint is a C++ library providing implementations of image inpainting and image completion methods. Image inpainting is the process of recovering or restoring image regions in a way that is non-detectable for an observer who does not know the original image.

While inpainting refers to restoring rather small regions such as scratches and other video artefacts, image completion deals with removal / restoring of large image parts.

Inpaint focuses on the task of object removal and is therefore optimized to work with large areas of reconstruction. Below is a side-by-side view of two images. On the left the original image, on the right the modified image as produced by Inpaint, after the user selected the rope to be removed.

| Original | Inpainted | | :-------------: |:-------------:| | Original Image | Inpainted image |

Building from source

To build Inpaint from source you need the following prerequisites - CMake - for generating cross plattform build files - OpenCV - for image processing related functions

Although Inpaint should build accross multiple platforms and architectures, tests are carried out on these systems - Windows 7/8/10 MSVC10/MSVC14 x86/x64 OpenCV 2.x/3.x

If the build should fail for a specific platform, don't hestitate to create an issue. I'm also happy to accept any pull requests.

Inpainting images

After building you might want to try out inpaint_image_criminisi

  1. Launch inpaint_image_criminisi <image>.
  2. Use the sliders on top of the UI to adjust patch and stencil size. Patch size refers to the size of texels that will be used during inpainting. It should be roughly the size of minimum texture feature size you intend to inpaint. Stencil size refers to radius of the interactive drawing tools explained in the following 2 steps.
  3. While holding your left mouse button pressed, move your mouse to mark the target area to be inpainted.
  4. While holding your right mouse button pressed, move your mouse to mark the source area from which samples can be copied to target area. If you skip this step, the entire image without source region is used as source area.
  5. Press e to toggle between editing / inpaint mode.
  6. Press x to quit.

License

``` Copyright Christoph Heindl 2014-2017

Inpaint is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Inpaint is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Inpaint. If not, see http://www.gnu.org/licenses/. ```

Owner

  • Name: Christoph Heindl
  • Login: cheind
  • Kind: user
  • Location: Austrian area

I am a computer scientist working at the interface of perception, robotics and deep learning.

GitHub Events

Total
  • Watch event: 8
  • Fork event: 1
Last Year
  • Watch event: 8
  • Fork event: 1

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 51
  • Total Committers: 3
  • Avg Commits per committer: 17.0
  • Development Distribution Score (DDS): 0.137
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Christoph Heindl c****l@g****m 44
scribblemaniac s****c 6
Alexandre Charoy a****y@g****m 1

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 23
  • Total pull requests: 2
  • Average time to close issues: 4 months
  • Average time to close pull requests: about 2 years
  • Total issue authors: 22
  • Total pull request authors: 2
  • Average comments per issue: 3.43
  • Average comments per pull request: 2.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • codenia (1)
  • harshithabk (1)
  • albingit70 (1)
  • Eoogle (1)
  • pradyoth-hegde (1)
  • hjwdzh (1)
  • akashdexati (1)
  • slashpot (1)
  • ghost (1)
  • davidsonic (1)
  • stiv-yakovenko (1)
  • nzjrs (1)
  • andrewharvey (1)
  • michaelitvin (1)
  • msacar (1)
Pull Request Authors
  • scribblemaniac (1)
  • alex-c (1)
Top Labels
Issue Labels
Pull Request Labels