Wednesday, January 27, 2010

First try for displaying patterns(maybe useless maybe not)



#define DEF_MAXIMUM_COST_SPREAD 6000
#define DEF_MINIMUM_LENGTH_DENTRITE 0
#define DEF_WEIGHT_GRADIENT 20

Not well-defined for shapes and well-defined for sizes
It is possible to show patterns, but the quality of the patterns is questionable. And did not see many advantages over the texture-mapping way. But still interesting for me.







Tuesday, January 26, 2010

Stippling with sizes from average intensities after CAH

Do CAH and calculate the sizes of each stipple based on the average intensities. Redraw the stipples. If the new stipple covers the old pixels after CAH, the old pixels won't be stipples any more.

(A) It seems it keeps some edges after half procedure.

(A) Half pixels are processed.
(B)Zoom in from (C)

(C) All pixels drawn as stipples

Stippling with sizes from merged dots after CAH

Do the merging based on the CAH and redraw the stipples based on the sizes of the merged dots.

Problems:
1) Not follow the edges well. Might be improved by adjusting the center position when redrawing.
2) Tone is not good, either.

Good:
1) It seems it is promising if we can find a good selection from CAH

(A)
Do not draw the small stipples.

(B)
All of stipples



Three-level stippling similar effects to hightening

Kind of hightening effects: a very powerful expression for me.
It looks more interesting for me now to create three-level effects such as hightening.

Wednesday, January 20, 2010

Stippling based on grayness

After halftoning, there are nearly half number of black dots, nearly half number of white dots, and very few grey dots.

Halftoning to Stippling

Problems:
1. Not good at density control. From this view, the growing mask seems more promising.


======================
Scaling errors
Stippling
Halftoning
============================
(Half number of dots are used)
StipplingHalftoning
=========================================
Stippling
Halftoning
==============================================


Tuesday, November 24, 2009

Digital facial engraving


http://www.iro.umontreal.ca/~ostrom/publications/abstracts.html
Victor Ostromoukhov. Digital Facial Engraving, In Proceedings of SIGGRAPH'99, in Computer Graphics Proceedings, Annual Conference Series, pp. 417-424, 1999.

Sunday, November 1, 2009

Test illuminating lines

The height field for a sphere is created by calculating the distance between the light and the vertices of the sphere. The lines are shown as contour lines based on different light position. Next step is to try to make the contour line continuous or long.

Random heights for a sphere.

a sphere
a sphere
a sphere
all illuminating lines
Triangulation for irregular PSLG
Add Image

Wednesday, October 21, 2009

Halftoning almost-final report

The influence of mask size
The variant method
The basic method dealing with one kind of leftout and without dealing the leftout from isolated pixelsThe basic method dealing with both kinds of leftout


PSNR
MSSIM

The variant method(6 out of 12 better than Pang method in tone matching and 12 out of 12 better in structure matching):
Dealing with the two kinds of residue: 1: some leftout from fully-filled pixels after several-time distributions in the mask and 2: leftout from isolated pixels

Using a map to store the residues, when a pixel is popped up from the heap, it will check the mask to find out if there are some residues in this mask; if there are it will carry these residues on the current error. Then the modified error will be distributed in the mask based the weight strategy.

Parameters: k1 = 1; k2 = 2; masksize 7 by 7; takes 4.625 seconds(*********This speed is not better than SAED method with the same size of mask, but better if considering the quality)

************************SAED speed analysis *******************
Kernel size CPU GPU
4 × 4 1.18 0.04
8 × 8 2.27 0.23
16 × 16 6.74 0.75----their best tradeoff
32 × 32 26.31 15.09

*****************************************************************
The basic method(10 out of 12 better than Pang method in tone matching and 9 out of 12 better in structure matching) :
Without ordering and processing it by raster scanning order, deal with the first class residue only. The isolated situation is ignored. If dealing with the isolated situation, the artefacts are very clear.

Parameters: k1 = 20; k2 = 2.25; masksize 7 by 7; takes 0.864 seconds

Monday, October 12, 2009

Results from processing the residue twice

Red dots are isolated pixels. There are so many of them, which affects the tone and structure a lot(The variant method)

BasicVariant

After distributing the residue once, then the residue left is distributed again based on the weight function without spreading the error on those pixels attaining black or white. It turns out the tone matching is getting better, the structure matching is getting lower. Basic method is 11 out of 12 better than Pang's method for PSNR, but 4 out of 12 for MSSIM. The variant is 6 out of 12 better than Pang's method for PSNR and 11 out of 12 for MSSIM.

Thursday, October 8, 2009

Deal with the leftout

The basic method
The variant

A lefout map is used to store the residue for each done pixel no matter it is an isolated pixel or not. Next time, before calculating the total weights for a chosen pixel, find the total leftout(T_leftout) around the chosen pixel and the new error = error + T_leftout. There is no global leftout and others are same as before. The tone PSNR has a tiny improvement for both basic and variant method. For example, for variant usually 5 out of 12 examples better than Pang's method, right now it is 6 out of 12. For basic method 10 out of 12 better than Pang's method, right now it is 11 out of 12. But the MSSIM for the basic method is not good anymore. Look at the ramp for both method. This modification improves the variant method, but brings some wrong matching for the basic method.

The wrong matching comes from the decision for drawing white or black after adding the total leftout.