Presentation is loading. Please wait.

Presentation is loading. Please wait.

C# CARTOON APPLICATION Miles Lamensky. Accepting Demo Pics ( <600x400 )

Similar presentations


Presentation on theme: "C# CARTOON APPLICATION Miles Lamensky. Accepting Demo Pics ( <600x400 )"— Presentation transcript:

1 C# CARTOON APPLICATION 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: Palette-Quantizer-in-C ) Palette-Quantizer-in-C

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

9 Real-Time Demo

10 Learning and Development Process Strategies Extensions Knowledge Advice

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

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 Possible Fixes: Edge Detection First + Color mixing when too few colors

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.


Download ppt "C# CARTOON APPLICATION Miles Lamensky. Accepting Demo Pics ( <600x400 )"

Similar presentations


Ads by Google