Finish standalone thumbnailer under

This commit is contained in:
2025-03-10 11:01:45 +01:00
parent 96a89bff92
commit bd45900821
6 changed files with 38 additions and 22 deletions
+24 -10
View File
@@ -28,21 +28,35 @@ int main(int argc, char *argv[])
ImageInfoData info;
std::shared_ptr<RawImage> rawImage;
if(!loadImage(input, info, rawImage))
return 1;
if(!rawImage)
return 2;
if(!rawImage)
return 3;
bool ok;
int size = parser.value("s").toInt(&ok);
if(!ok)
size = 128;
QSize rect(rawImage->width(), rawImage->height());
rect.scale(size, size, Qt::KeepAspectRatio);
rawImage->calcStats();
rawImage->resize(rect.width(), rect.height());
if(rawImage->imageStats().m_median[0] < rawImage->norm() * 0.2f)
{
MTFParam mtfParams = rawImage->calcMTFParams(true);
rawImage->applySTF(mtfParams);
}
rawImage->convertToType(RawImage::UINT8);
QImage img((const uchar*)rawImage->data(), rawImage->width(), rawImage->height(), QImage::Format_RGBA8888);
bool ok = false;
int size = parser.value("s").toInt(&ok);
if(!ok)size = 128;
img = img.scaled(size, size, Qt::KeepAspectRatio);
img.save(output, "png");
QImage img;
if(rawImage->channels() == 1)
img = QImage((const uchar*)rawImage->data(), rawImage->width(), rawImage->height(), rawImage->widthBytes(), QImage::Format_Grayscale8);
else
img = QImage((const uchar*)rawImage->data(), rawImage->width(), rawImage->height(), rawImage->widthBytes(), QImage::Format_RGBA8888);
//rawImage->convertTosRGB();
if(!img.save(output, "png"))
return 4;
return 0;
}