[Webinar] Streamline your web hosting managementRegister Today

x
Solved

# Greyscale or not

Posted on 2001-08-29
Medium Priority
177 Views
hi .. everyone ...
i have a problem here about the algorithm
for classifiying an image into grayscale
image and not. And if there is Delphi
source code please tell me ok ...

Regards,
Billy
0
Question by:Bilce
• 2
• 2
• 2

LVL 11

Expert Comment

ID: 6439498
Now what IS the problem?
A picture is grayscale if for all pixels the R, G and B values are the same.
Making a colored picture grayscale is calculating the brightness of the pixel. A formula which i do not know.
0

LVL 11

Expert Comment

ID: 6439502
That is for each pixel R, G and B value of this pixel has to be the same.
0

LVL 5

Expert Comment

ID: 6439731
to convert from color to greyscale:

brightness = (R + G + B) / 3

set R, G, and B to the value in brightness

0

LVL 6

Accepted Solution

edey earned 150 total points
ID: 6441695
Actually you'd prob. want to at least weight your rgb values, something like this:

brightness := round(sqrt((r*r+g*g+b*b)/3));

Better yet you'd convert to HSV, extract the V & convert back to RGB.  This results in much better contrast & picture quality.  I believe this is because we aren't equaly sensitive to all three primary colours. Here's a pretty good approximation I found at Earl Glynn's site: http://www.efg2.com (great site BTW):

brightness :=((r Shl 5)+(g Shl 6)+(b*12)) Div 108;

GL
Mike
0

LVL 5

Expert Comment

ID: 6444614
Thanks edey for that HSV formula.  I used it and did notice an improvement.
0

LVL 6

Expert Comment

ID: 6444764
Excellent, Glad to be of service :)

Gl
Mike
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question