Presentation is loading. Please wait.

Presentation is loading. Please wait.


Similar presentations

Presentation on theme: "C# CARTOON APPLICATION"— Presentation transcript:

Miles Lamensky

2 Accepting Demo Pics ( <600x400 )

3 Outline Definition and Requirements Solutions Methodology
Real-Time Demo Exceptions Learning and Development Process

4 Definition and Requirements
Project: Develop an application that makes cartoon like images from pictures. General Requirements: 1. Take an image and convert it to a cartoon like image using rotoscoping techniques. 2. Implement save and open functions. 3. Examine several rotoscoping algorithms and design your own. 4. Control the contrast, tint and intensity of the cartoon. 5. Choose a finite number of colors. 6. Actually choose the specific colors. 7. Implement a mobile version. 9. Consider showing the cartoon image as a preview before taking the picture.

5 Solutions

6 Solutions cont…

7 Methodology Image Format Conversation (Bitmap->Array, Bitmap->Image, etc.) Original Image -> Grayscale Sobel (Damian Wegner, 2005: Palette Quantizer, Median Cut (Smart K8:

8 targetImage = Sobel_Process(targetImage);
Image targetImage = GetQuantizedImage(sourceImage); Bitmap grayed = ToGrayscale(img); InitializeSolidBW(BWArray, grayed); Merge(SobelData, img); Sobel(SobelData, BWArray);

9 Real-Time Demo

10 Learning and Development Process
Strategies Extensions Knowledge Advice

11 Strategies 1 Cursory/Playful Exploration + recursive sweeps
+ averaging neighbors + color comparison THE BAD: + time effectiveness 1

12 2 openCV + Hough Transform

13 3 Sobel + Working Edge Detection + Noise Reduction Attempts (Median Cut)

14 4 Recursive Technique + Sobel THE BAD: + too many colors + still too much time

15 5 Color Quantization + Sobel

16 Exceptions Global Variables* BIG Files* Color Leakage
Thickening Detected Edges Post-Edge Noise Reduction Already Low-Quality Images

17 Color Leakage + Color mixing when too few colors Possible Fixes:
Edge Detection First

18 Thickening Detected Edges
Possible Fixes: Alter Sobel Function SobelData[y1, x1] = sum; //FEEBLE ATTEMPT TO THICKEN EDGE; FAIL //SobelData[y1-1, x1-1] = sum; //SobelData[y1, x1 - 1] = sum; //SobelData[y1 - 1, x1] = sum; //SobelData[y1 + 1, x1 + 1] = sum; //SobelData[y1 + 1, x1] = sum; //SobelData[y1, x1 + 1] = sum; //SobelData[y1 + 1, x1 - 1] = sum; //SobelData[y1 - 1, x1 + 1] = sum;

19 Post-Edge Noise Reduction
Possible Fixes: Noise Reduction Algorithms Noise Reduction

20 Already Low-Quality Images
The purpose of a color quantization!!!

21 Knowledge Android (-_-) C# (*) Color Comparison RGB openCV
Hough Transform Visual Basic Sobel Color Quantization Median Cut

22 For Future Friends Android Real-Time Conversion (Video)

23 Advice Borrow Shamelessly (i.e. Steal Adapt) Make a !@#$@ Plan
Read the Project Outline Swallow Pride (i.e. ???’s) Error Blog Step Back Alternate Alcohol (if of age)

24 Hey. Thanks.


Similar presentations

Ads by Google