ncc1701@pawl.rpi.edu (Mark O. Chadwick) (04/15/89)
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... Any help, ideas, or (preferably) code would be immensely appreciated! Thanks! ------------------------------------------------------------------------- ncc1701@pawl.rpi.edu | Live long and prosper, Spock USERGDES@rpitsmts.bitnet | I shall do neither. I have killed my (Mark Chadwick) | captain...and my friend
kirby@bozo.wbst128.xerox.com (Mike Kirby (co-op)) (04/17/89)
>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...)
raveling@venera.isi.edu (Paul Raveling) (04/20/89)
>In article <1296@rpi.edu> ncc1701@pawl.rpi.edu (Mark O. Chadwick) writes: > >> 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. We have a new library of simple image manipulation functions (imglib) that includes this, but at this moment the only routine that dithers to monochrome is embedded in the module that prints images to an Imagen printer. Within the next few days I'll generalize the dithering a bit and will make imglib available by anonymous FTP. That'll also include a few programs using imglib and a collection of 1,130 images. ---------------- Paul Raveling Raveling@isi.edu