Inpainting
所属分类:图形图像处理
开发工具:matlab
文件大小:15961KB
下载次数:93
上传日期:2012-08-15 09:15:51
上 传 者:
no name
说明: 图像修复程序,专门用于去除图片中大的物体。去除后的图像裂缝通过基于用户手动得到的掩模进行填充。
(This project involved removing large objects from images. From a user-specified mask, small patches were duplicated until all remaining gaps were filled. )
文件列表:
TextureSynthesis\Image Inpainting (0, 2006-12-20)
TextureSynthesis\Image Inpainting\demo.m (3108, 2006-12-20)
TextureSynthesis\Image Inpainting\examples (0, 2006-12-20)
TextureSynthesis\Image Inpainting\examples\branches (0, 2006-12-20)
TextureSynthesis\Image Inpainting\examples\branches\branches.png (112990, 2006-12-17)
TextureSynthesis\Image Inpainting\examples\branches\branches.psd (410724, 2006-12-20)
TextureSynthesis\Image Inpainting\examples\branches\branches_mask.png (3440, 2006-12-17)
TextureSynthesis\Image Inpainting\examples\bungee (0, 2006-12-20)
TextureSynthesis\Image Inpainting\examples\bungee\bungee.png (134035, 2006-12-07)
TextureSynthesis\Image Inpainting\examples\bungee\bungee.psd (389726, 2006-12-16)
TextureSynthesis\Image Inpainting\examples\bungee\bungee_mask.png (4374, 2006-12-07)
TextureSynthesis\Image Inpainting\examples\ellipses (0, 2006-12-20)
TextureSynthesis\Image Inpainting\examples\ellipses\ellipses.png (6185, 2006-12-17)
TextureSynthesis\Image Inpainting\examples\ellipses\ellipses.psd (43534, 2006-12-17)
TextureSynthesis\Image Inpainting\examples\ellipses\ellipses_mask.png (3443, 2006-12-17)
TextureSynthesis\Image Inpainting\examples\hollywood (0, 2006-12-20)
TextureSynthesis\Image Inpainting\examples\hollywood\hollywood.png (541765, 2006-12-17)
TextureSynthesis\Image Inpainting\examples\hollywood\hollywood.psd (1724268, 2006-12-20)
TextureSynthesis\Image Inpainting\examples\hollywood\hollywood_mask.png (7406, 2006-12-17)
TextureSynthesis\Image Inpainting\examples\kanizsa (0, 2006-12-20)
TextureSynthesis\Image Inpainting\examples\kanizsa\kanizsa.png (9981, 2006-12-17)
TextureSynthesis\Image Inpainting\examples\kanizsa\kanizsa.psd (63876, 2006-12-20)
TextureSynthesis\Image Inpainting\examples\kanizsa\kanizsa_mask.png (3507, 2006-12-17)
TextureSynthesis\Image Inpainting\examples\panorama (0, 2006-12-20)
TextureSynthesis\Image Inpainting\examples\panorama\panorama.png (1426163, 2006-12-16)
TextureSynthesis\Image Inpainting\examples\panorama\panorama.psd (3615570, 2006-12-16)
TextureSynthesis\Image Inpainting\examples\panorama\panorama_mask.png (13214, 2006-12-16)
TextureSynthesis\Image Inpainting\examples\scratches (0, 2006-12-20)
TextureSynthesis\Image Inpainting\examples\scratches\scratches.png (320115, 2006-12-16)
TextureSynthesis\Image Inpainting\examples\scratches\scratches.psd (991640, 2006-12-20)
TextureSynthesis\Image Inpainting\examples\scratches\scratches_mask.png (9024, 2006-12-16)
TextureSynthesis\Image Inpainting\examples\triangle (0, 2006-12-20)
TextureSynthesis\Image Inpainting\examples\triangle\triangle.png (4023, 2006-12-17)
TextureSynthesis\Image Inpainting\examples\triangle\triangle.psd (60926, 2006-12-20)
TextureSynthesis\Image Inpainting\examples\triangle\triangle_mask.png (5886, 2006-12-17)
TextureSynthesis\Image Inpainting\findmatch.m (1217, 2006-12-17)
TextureSynthesis\Image Inpainting\inpaint.m (8805, 2006-12-20)
TextureSynthesis\Image Inpainting\showresults.m (1572, 2006-12-20)
TextureSynthesis\Image Quilting (0, 2006-12-20)
TextureSynthesis\Image Quilting\findmatch.m (911, 2006-11-19)
... ...
+---------------------------------------------------------------+
| EN 256: Computer Vision |
| Texture Synthesis and Manipulation |
| |
| Douglas R. Lanman |
| http://mesh.brown.edu/dlanman |
| dlanman@brown.edu |
| Dec. 19, 2006 |
+---------------------------------------------------------------+
+---------------------------------------------------------------+
> Introduction
This archive contains the presentations, source code, and results
produced for my final project in EN 256: Computer Vision. More
specifically, this project focused on "Texture Synthesis and
Manipulation". If we view a given image as a sample from a local
stationary random process, then the goal of texture synthesis is
to generate additional images which appear (to a human observer)
to be produced from the same underlying distribution.
Applications include non-periodic texture mapping for graphics,
as well as inpainting for photographic restoration. For reasons
discussed in my project proposal, I decided to implement Efros
and Freeman's Image Quilting algorithm – a particularly simple,
yet effective, patch-based solution. In addition, I extended
this algorithm to allow image inpainting using Exemplar-based
Image Inpainting by Criminisi, Perez, and Toyama.
+---------------------------------------------------------------+
> Contents
\TextureSynthesis:
Lanman-Proposal.pdf project proposal
Lanman-Progress-Report.pdf midterm progress report
Lanman-Final-Report.pdf final presentation
README this file
\TextureSynthesis\Image Quilting:
imquilt.m main image quilting script
findmatch.m finds closest-matching block
mincut.m implements minimum cut framework
textran.m main texture transfer script
transfer.m finds luminance-weighted block
\TextureSynthesis\Image Inpainting:
demo.m image inpainting demo script
inpaint.m main image inpainting function
findmatch.m finds closest-matching block
showresults.m displays current results
+---------------------------------------------------------------+
> Image Quilting
My implementation of Efros and Freeman's Image Quilting algorithm
is included in "\TextureSynthesis\Image Quilting". To run the
demo, open MATLAB and change the current directory to this
location. Next, run the following command at the Matlab prompt.
>> imquilt
Note that three figure windows are created, containing: (1) the
source texture, (2) the synthesized texture, and (3) the boundary
cuts obtained using the minimum cut criterion. To modify the
standard demo, edit lines 6-13 of "imquilt.m". The comments in
the provided m-file explain the general usage of each parameter.
As described in Efros and Freeman's paper, the main image
quilting procedure can be extended to allow texture transfer. At
a basic level, this simply requires selecting blocks based on
the overlapping texture, as well as an underlying luminance
function. This procedure is implemented in "textran.m". To view
the basic demo, run the following command at the Matlab prompt:
>> textran
Two output figures are created, containing: (1) the source
texture and (2) the texture transfer results. To modify the
basic demo parameters, edit lines 5-14 of "textran.m".
+---------------------------------------------------------------+
> Image Inpainting
My implementation of Exemplar-based Image Inpainting by Criminisi
et al. is included in "\TextureSynthesis\Image Inpainting". To
run the demo, open MATLAB and change the current directory to
this location. Run the following command at the Matlab prompt.
>> demo
Note that two output figures are created, containing: (1) the
real-time inpainting progress and (2) the final inpainting
results. In the first figure, the left subfigure shows the
current inpainting progress (as well as the mask), whereas
the right subfigure shows the current "confidence" image
estimate (as described in Criminisi et al.). Edit lines 6-7 of
"demo.m" and/or lines 3-17 of "inpaint.m" to alter the basic
demo parameters. See the comments in the source code for
additional explanation.
+---------------------------------------------------------------+
> Update Information
This project will be released on MATLAB Central in late December
of 2006. Updates for this project will also be available at:
http://mesh.brown.edu/dlanman/courses.html
+---------------------------------------------------------------+
近期下载者:
相关文件:
收藏者: