Computer Graphics Exercise 1 Halftoning and Color Transfer Due date: 24.03.05.

Slides:



Advertisements
Similar presentations
2D Geometric Transformations
Advertisements

CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
Inpainting Assigment – Tips and Hints Outline how to design a good test plan selection of dimensions to test along selection of values for each dimension.
Graphics Pipeline.
Computer Graphic Creator: Mohsen Asghari Session 2 Fall 2014.
3D Graphics Rendering and Terrain Modeling
CodeCrunch Getting Started.
General morphometric protocol Four simple steps to morphometric success.
Image Processing IB Paper 8 – Part A Ognjen Arandjelović Ognjen Arandjelović
Mapping: Scaling Rotation Translation Warp
Diffusion Mechanisms for Active Queue Management Department of Electrical and Computer Engineering University of Delaware May 19th / 2004 Rafael Nunez.
Further Programming for 3D applications CE Introduction to Further Programming for 3D application Bob Hobbs Faculty of Computing, Engineering and.
Half Toning. Continuous Half Toning Color Half Toning.
Chapter 2 storing numbers and creating objects Pages in Horstmann.
Introduction to MATLAB Northeastern University: College of Computer and Information Science Co-op Preparation University (CPU) 10/22/2003.
Introduction to OpenGL. What is OpenGL OpenGL is a low-level software interface to graphics hardware No commands for performing windowing tasks or obtaining.
Image Representation.
Computer Vision Lecture 3: Digital Images
Diffusion Mechanisms for Active Queue Management Department of Electrical and Computer Engineering University of Delaware Aug 19th / 2004 Rafael Nunez.
Computer graphics & visualization NPR – Non-photorealistic rendering.
Face Recognition Using Neural Networks Presented By: Hadis Mohseni Leila Taghavi Atefeh Mirsafian.
INF5110: Mandatory Exercise 2 Eyvind W. Axelsen @eyvindwa Slides are partly based on.
Projective Texture Atlas for 3D Photography Jonas Sossai Júnior Luiz Velho IMPA.
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
COMP 175: Computer Graphics March 24, 2015
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
3D Visualisation of Simulation Data. Informal Seminar 08/03/2004. By Chris Sweet.
: Chapter 12: Image Compression 1 Montri Karnjanadecha ac.th/~montri Image Processing.
IPC144 Introduction to Programming Using C Week 1 – Lesson 2
1 Agenda Administration Background Our first C program Working environment Exercise Memory and Variables.
Creating your first C++ program
Guide to Linux Installation and Administration, 2e1 Chapter 10 Managing System Resources.
Digital Image Processing Lecture 6: Image Geometry
Pointers OVERVIEW.
Advanced Topics in Computer Graphics Exercise 1 Poisson Image Editing Due date: Presentation by: Tommer Leyvand.
LHCb Software Week November 2003 Gennady Kuznetsov Production Manager Tools (New Architecture)
Algorithms  Problem: Write pseudocode for a program that keeps asking the user to input integers until the user enters zero, and then determines and outputs.
Computer Vision : CISC 4/689 Going Back a little Cameras.ppt.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
1 Principles of Computer Science I Prof. Nadeem Abdul Hamid CSC 120 – Fall 2005 Lecture Unit 2 - Using Objects.
Image Coloring. Halftone Halftone is the reprographic technique that simulates continuous tone imagery through the use of dots, varying either in size,
Introduction to Computer Graphics Chapter 6 – 2D Viewing Pt 1 1.
Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java.
Project 11: Determining the Intrinsic Dimensionality of a Distribution Okke Formsma, Nicolas Roussis and Per Løwenborg.
Computer Graphics Lecture 08 Fasih ur Rehman. Last Class Ray Tracing.
Making Panoramas. Input: Output: … Input:  A set of images taken from the same optical center.  For this project, the images will also have the same.
Geometric Transformations Sang Il Park Sejong University Many slides come from Jehee Lee’s.
MACHINE LEARNING 7. Dimensionality Reduction. Dimensionality of input Based on E Alpaydın 2004 Introduction to Machine Learning © The MIT Press (V1.1)
3-1 Chapter 3: Image Display The goodness of display of an image depends on (a) Image quality: i) Spatial resolution, ii) Quantization (b) Display device:
Tree-Structured Method for LUT Inverse Halftoning IEEE Transactions on Image Processing June 2002.
CS3241 C OMPUTER G RAPHICS Tutorial 8. Q UESTION #1 Given an object represented in polygons, how to find its bounding sphere?
The Development Process Compilation. Compilation - Dr. Craig A. Struble 2 Programming Process Problem Solving Phase We will spend significant time on.
Error Diffusion (ED) Li Yang Campus Norrköping (ITN), University of Linköping.
Essential components of the implementation are:  Formation of the network and weight initialization routine  Pixel analysis of images for symbol detection.
Anders Nielsen Technical University of Denmark, DTU-Aqua Mark Maunder Inter-American Tropical Tuna Commission An Introduction.
May 2003 SUT Color image segmentation – an innovative approach Amin Fazel May 2003 Sharif University of Technology Course Presentation base on a paper.
René Vidal and Xiaodong Fan Center for Imaging Science
التأهيل التربوي المملكة العربية السعودية جامعة الملك عبدالعزيز
Image Processing, Lecture #8
Meshes.
Image Processing, Leture #16
(c) 2002 University of Wisconsin, CS 559
network of simple neuron-like computing elements
Image Processing, Lecture #8
Image Compression Purposes Requirements Types
Computer Graphics 4Practical Lesson
© 2010 Cengage Learning Engineering. All Rights Reserved.
Introduction to Image Analysis and Processing
Presentation transcript:

Computer Graphics Exercise 1 Halftoning and Color Transfer Due date:

Part 1 Halftoning

General Description The purpose of this part of the exercise is to generate half tone images with two techniques: i.Ordered Dithering. i.Ordered Dithering. ii.Error Distribution. ii.Error Distribution.

Original Image

Ordered Dithering

Error Diffusion Propagate the error to the Four surrounding neighbours

Program Usage The program should be named “ halftoning.exe ”. The programs gets from the command line TWO parameters: 1. Option –d or –e 2. Input filename

Program Usage The program generates one output image dither_ ( -d option) dither_ ( -d option) errdiff_ ( -e option) errdiff_ ( -e option)

Part 2 Color Transfer

General Description  The purpose of this part is to implement a simple algorithm that transfers the colors of one image onto another image.

Example Colors Result:

The algorithm  You will find an affine mapping (Matrix + translation) between the color spaces of the two images.  For every pixel i of the first image, you take its color p i = (r i, g i, b i ), and apply the mapping M.  You obtain the new color for pixel i :

In detail R B G R B G How to find a good mapping?

Mapping by PCA R B G R B G  Find the axes by PCA  Compute the oriented bounding boxes  Define M as the affine mapping between those boxes!

Program Usage The program should be named “ ColorTransfer.exe ”. The programs gets from the command line TWO parameters: 1. First input filename (the one to map the colors onto) 2. Second input filename (the one to take the colors from)

Program Usage The program generates one output image res_ res_

General Guidelines

Important Remarks  You should write the programs in C or C++.  Document your program thoroughly.  In this assignment there is no need to open a window or use OpenGL in any way.

Important Remarks  The work can be done in pairs.  Submit your work on diskettes (or CD’s). Hardcopy of the documentation.  Points will be rewarded for nice and original images.

More Important Remarks  Don't forget to check the number of parameters that your program receives.  Don't forget to check memory allocations, if they succeeded or failed.  Pay attention to the difference between bytes, int’s and float’s (Rounding error).  Pay attention to the borders of the image.

A Little Help  IrfanView – An image viewer, editor.  FreeImage – A open source library for working with images.  NewMat10 – matrix and linear algebra library  See the links on the exercise webpage