Path: utzoo!dptcdc!jarvis.csri.toronto.edu!mailrus!cornell!rochester!rocksanne!bozo!kirby From: kirby@bozo.wbst128.xerox.com (Mike Kirby (co-op)) Newsgroups: comp.graphics Subject: Re: "Different" 8-bit color to 1-bit converter Message-ID: <721@rocksanne.UUCP> Date: 17 Apr 89 14:27:13 GMT References: <1296@rpi.edu> Sender: news@rocksanne.UUCP Reply-To: kirby@bozo.UUCP (Mike Kirby (co-op)) Organization: WRC, XEROX Lines: 32 >I'm stuck on a monochrome sun 3/50 with no possibility of grey scale, and I >was wondering if anyone out there knew of a program to convert an n-bit color >or grey-scale image to 1 bit monochrome using a matrix of pixels to represent >an individual pixel in the original file. >I have access to some 8 bit to 1 bit conversion programs, but quite often, >the picture is a 320x200 image, and it is sooo small on my screen, it's almost >completely useless. >I've seen a program to do something like this before, but I can't remember >where, and I know it wasn't on a sun. > >For example, there might be a 3x3 pixel array used to represent up to 10 shades >of grey... What it seems that you want to do is either halftoning, or some kind of error diffusion. I would recommend something like a floyd-steinberg error diffusion. (you can get the article out of proceedings of the S.I.D, vol 17/2 1976) Basically, this algorithm takes a pixel, determines from it's desired intensity what the actual intensity would be. For example, and intensity of 1/4 (as shown by the article) would be black (intensity 0) on a monochrome monitor. Thus, we have an error of 1/4. The idea is to distribute this error to neighboring pixels in hopes that the errors will cancle out as we go along. This wasn't a very good explaination. Check out the article for a better description of the process. It is a good technique. Michael Kirby mpk9172@ritvax.bitnet (this works) mpk9172%ritcv@cs.rit.edu (flaky...but with a good tail wind I'll get it) kirby.wbst128@xerox.com (never tried...)