[Qt-interest] Enhanced monochrome conversion
Andre Somers
andre at familiesomers.nl
Thu Nov 26 11:47:08 CET 2009
M. Bashir Al-Noimi wrote:
>
> Hi All,
>
> It's easy to convert any image to monochrome format by using
> QImage::convertToFormat like this:
>
> pImage.convertToFormat(QImage::Format_Mono, Qt::MonoOnly|Qt::ThresholdDither|Qt::AvoidDither);
>
> but convertToFormat always guessing that the value of conversion's
> threshold is 255 where in some cases we need to use another
> threshold's value. I checked out GIMP and I noticed that it uses an
> automatic method for guessing threshold's value (see the example
> below) so I'm wondering:
>
> *How I can convert images to monochrome format by using auto
> threshold's value just like GIMP conversion method?*
>
> *P.S*
>
> I've wrote a stupid function for converting images to monochrome by
> using a specified threshold's value as following but I need to know
> how I can automatically specify threshold's value:
>
> QImage getThresholdBW(QImage pImage, int threshold)
> {
> QImage result = pImage;
> result.fill(255);
> for(int x=0; x<pImage.width(); x++)
> for(int y=0; y<pImage.height(); y++)
> result.setPixel(x, y, qGray(pImage.pixel(x, y))>threshold?qRgb(255, 255, 255):qRgb(0, 0, 0));
>
> return result;
> }
Hi, interesting problem, but I'd say there is a relatively straitforward
way to get an answer: read the GIMP sourcecode and see how it does this!
Of course, I have no idea if the source of the GIMP is actually
readable, I never tried.
André
(use the Force, read the Source!)
More information about the Qt-interest-old
mailing list