Files
fil/packages/elixir/lib/kreuzberg/image_preprocessing_config.ex
Henrik Jess Nielsen b4c07d3693
All checks were successful
Deploy fil (kreuzberg) / deploy (push) Successful in 49s
Nomad changes
2026-06-01 23:40:55 +02:00

45 lines
1.3 KiB
Elixir
Generated

# This file is auto-generated by alef — DO NOT EDIT.
# alef:hash:4e15143f4af1ae8bafbdb1506ef057da924484c66a19483966333558ad437e75
# To regenerate: alef generate
# To verify freshness: alef verify --exit-code
# Issues & docs: https://github.com/kreuzberg-dev/alef
defmodule Kreuzberg.ImagePreprocessingConfig do
@moduledoc """
Image preprocessing configuration for OCR.
These settings control how images are preprocessed before OCR to improve
text recognition quality. Different preprocessing strategies work better
for different document types.
"""
@typedoc "Image preprocessing configuration for OCR."
@type t :: %__MODULE__{
target_dpi: integer(),
auto_rotate: boolean(),
deskew: boolean(),
denoise: boolean(),
contrast_enhance: boolean(),
binarization_method: String.t() | nil,
invert_colors: boolean()
}
defstruct target_dpi: 300,
auto_rotate: true,
deskew: true,
denoise: false,
contrast_enhance: false,
binarization_method: "otsu",
invert_colors: false
defimpl Jason.Encoder do
@doc false
def encode(value, opts) do
value
|> Map.from_struct()
|> Enum.reject(fn {_k, v} -> v == nil end)
|> Enum.into(%{})
|> Jason.Encoder.encode(opts)
end
end
end