package network.rs485.ben.computervision import org.opencv.core.Mat interface DimensionProvider { val minX: Int val maxX: Int val minY: Int val maxY: Int } class CroppingDimensionProvider(lines: List) : DimensionProvider { override val minX: Int = lines.minOf { it.first.x } override val maxX: Int = lines.maxOf { it.second.x } override val minY: Int = lines.first().first.y override val maxY: Int = lines.last().first.y } class ImageDimensionProvider(image: Mat) : DimensionProvider { override val minX: Int = 0 override val maxX: Int = image.cols() - 1 override val minY: Int = 0 override val maxY: Int = image.rows() - 1 }