Wednesday, September 23, 2009

Color halftoning and other testings



Look much better than Pang's method and it is fast.



Intensity=128
not good in visualiztion

Intensity tests:
Intensity black pixels percentage
25 27060/30000 90.2%
80 20591/30000 68.64%
100 18248/30000 60.82%
128 14946/30000 49.82%
204 6010/30000 20.03%

Monday, September 21, 2009

Resutls for modified accumulation function

The ordering is based on the distance to the black or the white. Based on my measurement, we have higher MSSIM and Constrast MSE. Our PSNR haver higher values than previous method except cat, tree, bat examples.

The modified weight function
if(error>0)
maxin = max(0.5,(Ii/(5*pow(r,1.0f))));
else
maxin = max(0.5,((255-Ii)/(5*pow(r,1.0f))));
in = min(maxin, 255-Ii);// to maintain the maximum;
ramp image
Good structure for tree and snail images


It seems the structure is better, but the tone looks not that good.

The tone looks fine. Clumping is there.

Friday, September 18, 2009

What do you think the following results?

The cat looks good! It is fast and the running time has the same order as 2009 paper. But our method has annoying patterns and some structure are missed.(No ordering, not both errors, raster order, circular mask, half bottom, Ii/r)


Thursday, September 17, 2009

A bad news

Their results for comparison


http://www.iro.umontreal.ca/~ostrom/publications/pdf/SIGGRAPH-ASIA09_saed.pdf
This paper is published in this year SIGGRAPH-ASIA. They did the error diffusion very very fast and have the structure well maintained.

Following the last blog

With sorting pixels by the distance to the two ends
The measurement shows the results have higher contrast similarity and structure similarity than those in last blog without ordering step, but lower tone similarity than them.

the weight function
maxin = max(0.5,(Ii/(5*pow(r,1.0f))));
in = min(maxin, 255-Ii);

Tone similarity(not high, better than 'structure-aware ' paper)Structure similarity(good)
Contrast similarity(good)


Good results in visualization but not high scores in measurement


PSNR(low scores, in most time better than Pang's method)
MSSIM(not always high scores)

Contrast similarity based on the contrast image and do the same as the PSNR measurement(high scores)
No ordering and do other procedure we have.



Wednesday, September 16, 2009

Seems we nail down the clumping

A result with jittering the intensities
Little improvement

A result with jittering the centers
A result without jittering


Jittering the centers to ruin the patterns from the mask. It seems it works, but also introduces some clumping. I should try to do something when ordering the pixels.

It turns out we can use the same function for weight calculations because we are choosing the distance between two ends to sort the orders. There are something I am not sure if I am doing correctly. First, I always maintain the updated value(maybe called intensity) in the range 0 to 255. If it is more than 255 or less than 0, the leftout(residue) will transport to the next chosen pixel. Second, the decision of black or white pixels are affected by both the current intensity and the carry-on residue from last chosen pixels.

Tuesday, September 15, 2009

The method like the error diffusion

The orders are based on the distance(the intensity) to the two ends(0 and 255). When a pixel is chosen, based on the closer ends choose white or black to draw the pixels. Then find the error between the original intensity and the black or white and distribute it into the mask based the weight function we are choosing. In each mask with radius 2, the weight function is as follows(same as the previous blog),
maxin = max(0.5,(Ii/(5*pow(r,3.0f))));
in = min(maxin, 255-Ii);









Some results

our method
error diffusion


The orders are based on the intensities and it use the circular mask with radius 5. Based on the normalization for each mask to distribute the intensity(or called errors).

For each mask, weights using function as follows:
maxin = max(0.5,(Ii/(5*pow(r,4.0f))));
in = min(maxin, 255-Ii);

less clumping but more patterns maxin = max(0.5,(Ii/(5*pow(r,3.0f))-Ii/(50*pow(r,3.0f)));
in = min(maxin, 255-Ii);
I cannot see many improvements after correcting the boundary conditions.

maxin = max(0.5,(Ii/(5*pow(r,3.0f))));
in = min(maxin, 255-Ii);

A little bettern results than others both for clumping and for patterns. Comparing with the results from error diffusion, still more patterns and more clumping in inbetween intensities(around 100-150). maxin = max(0.5,(Ii/(5*pow(r,2.0f))));
in = min(maxin, 255-Ii);
More clumping, especially for the hats.

Monday, September 14, 2009

Visulization for orders

I=80
I=150
I=5
I = 128
I = 5 ,80,128,192,250



It seems the orders work fine.