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);
pImage.convertToFormat(QImage::Format_Mono, Qt::MonoOnly|Qt::ThresholdDither|Qt::AvoidDither);
To copy to clipboard, switch view to plain text mode
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?
Original
QImage conversion
Automatic GIMP conversion

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:
{
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;
}
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;
}
To copy to clipboard, switch view to plain text mode
Bookmarks