better support of gray level

This commit is contained in:
2019-08-26 02:35:17 +02:00
parent 20d122890b
commit fe0f90af64
3 changed files with 82 additions and 30 deletions

View File

@@ -20,7 +20,7 @@ float fimg_get_maxvalue(FloatImg *head)
float maxval;
int foo;
if (head->type != FIMG_TYPE_RGB) {
if (head->type != FIMG_TYPE_RGB && head->type != FIMG_TYPE_GRAY) {
fprintf(stderr, "%s : type %d invalide\n",
__func__, head->type);
return nanf("wtf ?");
@@ -28,10 +28,17 @@ if (head->type != FIMG_TYPE_RGB) {
maxval = 0.0; /* no negative values allowed */
for (foo=0; foo<(head->width*head->height); foo++) {
if (head->R[foo] > maxval) maxval = head->R[foo];
if (head->G[foo] > maxval) maxval = head->G[foo];
if (head->B[foo] > maxval) maxval = head->B[foo];
switch (head->type) {
case FIMG_TYPE_RGB:
for (foo=0; foo<(head->width*head->height); foo++) {
if (head->R[foo] > maxval) maxval = head->R[foo];
if (head->G[foo] > maxval) maxval = head->G[foo];
if (head->B[foo] > maxval) maxval = head->B[foo];
}
case FIMG_TYPE_GRAY:
for (foo=0; foo<(head->width*head->height); foo++) {
if (head->R[foo] > maxval) maxval = head->R[foo];
}
}
return maxval;