New setting to control the quality of exported PDFs (#70)

This commit is contained in:
Pierre-Yves Nicolas
2026-01-10 15:06:01 +01:00
parent fcdcea1891
commit 5c5b6e921e
14 changed files with 295 additions and 64 deletions

View File

@@ -14,9 +14,9 @@
*/
package org.fairscan.evaluation
import org.fairscan.imageprocessing.ExtractedDocument
import org.fairscan.imageprocessing.detectDocumentQuad
import org.fairscan.imageprocessing.extractDocument
import org.fairscan.imageprocessing.isColoredDocument
import org.fairscan.imageprocessing.scaledTo
import org.opencv.imgcodecs.Imgcodecs
import java.io.File
@@ -60,11 +60,11 @@ object ColorDetectionEvaluator {
val quad = detectDocumentQuad(mask, isLiveAnalysis = false)
?.scaledTo(mask.width, mask.height, mat.width(), mat.height())
val extracted: ExtractedDocument = if (quad != null) {
extractDocument(mat, quad, 0, mask)
} else continue
if (quad == null) continue
val isColored = isColoredDocument(mat, mask, quad)
val extracted = extractDocument(mat, quad, 0, isColored, 2_000_000)
val detected = extracted.pageAnalysis.isColored
val detected = isColored
nbProcessedImages++
@@ -72,7 +72,7 @@ object ColorDetectionEvaluator {
Imgcodecs.imwrite(inputOut.absolutePath, mat)
val outputOut = File(outputDir, "${imgName}_output.jpg")
Imgcodecs.imwrite(outputOut.absolutePath, extracted.image)
Imgcodecs.imwrite(outputOut.absolutePath, extracted)
results += ColorResult(
imgName,

View File

@@ -17,6 +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.scaledTo
import org.opencv.core.Mat
import org.opencv.imgcodecs.Imgcodecs
@@ -71,7 +72,8 @@ object DatasetEvaluator {
?.scaledTo(mask.width, mask.height, inputMat.width(), inputMat.height())
val corrected: Mat? = if (quad != null) {
extractDocument(inputMat, quad = quad, rotationDegrees = 0, mask).image
val isColored = isColoredDocument(inputMat, mask, quad)
extractDocument(inputMat, quad = quad, rotationDegrees = 0, isColored, 2_000_000)
} else null
val inputOut = File(outputDir, "${e.name}_input.jpg")