Introduce ColorMode enum

This commit is contained in:
Pierre-Yves Nicolas
2026-03-29 14:48:16 +02:00
parent 3681d5771d
commit 7d01493477
12 changed files with 47 additions and 33 deletions

View File

@@ -14,9 +14,10 @@
*/
package org.fairscan.evaluation
import org.fairscan.imageprocessing.ColorMode
import org.fairscan.imageprocessing.detectDocumentQuad
import org.fairscan.imageprocessing.extractDocument
import org.fairscan.imageprocessing.isColoredDocument
import org.fairscan.imageprocessing.autoColorMode
import org.fairscan.imageprocessing.scaledTo
import org.fairscan.imageprocessing.toImageSize
import org.opencv.imgcodecs.Imgcodecs
@@ -62,10 +63,10 @@ object ColorDetectionEvaluator {
?.scaledTo(mask.width, mask.height, mat.width(), mat.height())
if (quad == null) continue
val isColored = isColoredDocument(mat, mask, quad)
val extracted = extractDocument(mat, quad, 0, isColored, 2_000_000)
val colorMode = autoColorMode(mat, mask, quad)
val extracted = extractDocument(mat, quad, 0, colorMode, 2_000_000)
val detected = isColored
val detected = colorMode == ColorMode.COLOR
nbProcessedImages++

View File

@@ -17,7 +17,7 @@ package org.fairscan.evaluation
import org.fairscan.imageprocessing.Mask
import org.fairscan.imageprocessing.detectDocumentQuad
import org.fairscan.imageprocessing.extractDocument
import org.fairscan.imageprocessing.isColoredDocument
import org.fairscan.imageprocessing.autoColorMode
import org.fairscan.imageprocessing.scaledTo
import org.fairscan.imageprocessing.toImageSize
import org.opencv.core.Mat
@@ -74,8 +74,8 @@ object DatasetEvaluator {
?.scaledTo(mask.width, mask.height, inputMat.width(), inputMat.height())
val corrected: Mat? = if (quad != null) {
val isColored = isColoredDocument(inputMat, mask, quad)
extractDocument(inputMat, quad = quad, rotationDegrees = 0, isColored, 2_000_000)
val colorMode = autoColorMode(inputMat, mask, quad)
extractDocument(inputMat, quad = quad, rotationDegrees = 0, colorMode, 2_000_000)
} else null
val inputOut = File(outputDir, "${e.name}_input.jpg")

View File

@@ -16,7 +16,7 @@ package org.fairscan.evaluation
import org.fairscan.imageprocessing.detectDocumentQuad
import org.fairscan.imageprocessing.extractDocument
import org.fairscan.imageprocessing.isColoredDocument
import org.fairscan.imageprocessing.autoColorMode
import org.fairscan.imageprocessing.scaledTo
import org.fairscan.imageprocessing.toImageSize
import org.opencv.core.MatOfInt
@@ -65,13 +65,13 @@ object ExportQualityEvaluator {
continue
}
val isColored = isColoredDocument(sourceMat, mask, quad)
val colorMode = autoColorMode(sourceMat, mask, quad)
for (quality in qualities) {
for (maxPixels in maxPixelsList) {
val outputMat =
extractDocument(sourceMat, quad, 0, isColored, maxPixels.toLong())
extractDocument(sourceMat, quad, 0, colorMode, maxPixels.toLong())
val outputFile = File(outputDir, "$imgName-$quality-$maxPixels.jpg")
val params = MatOfInt(Imgcodecs.IMWRITE_JPEG_QUALITY, quality)