Open zvezdochiot opened 2 years ago
По-хорошему, надо делать преобразование rgb2hsv. У канала v делать автоконтраст (фон - 255, черный текст -0). И преобразовывать обратно в rgb. В этом случае сохранится оттенок типографской краски. В данном же примере малиновый (magenta) стал красным (red).
@U235a say:
малиновый (magenta) стал красным (red).
Ну разумеется. Я же использовал "чистый" Bimodal порог по каналам, без "Use Median". А иначе бы фон стал серым. Здесь надо вычленить из "Use Median" крайние (чёрный, белый) цвета. Есть ещё небольшая проблемка - цветная окоёмка вокруг букв. Здесь уже понадобится despeckle.
Пример "Use Median":
PS: С другой стороны, некоторым нужен именно серый (оригинальный) фон, но с удалением шумов. Весить такая картинка будет поболее Ч/Б, но выглядеть гораздо опрятнее. И для метода раздельных сканов более чем компакно.
@U235a say:
По-хорошему, надо делать преобразование rgb2hsv.
Ну да. И в принципе неплохо было бы иметь возможность на отдельных страницах применять вместо BW threshold схему noteshrink:
RGBtoHSV -> BG(Histogram) -> FGmask(ColorDistance) -> KMeans of FG -> pallete (BG+FG)
Описание самого процесса: Compressing and enhancing hand-written notes.
Пример тот же:
The channel-by-channel threshold allows you to save color labels.
Origin:
Threshold: