Я придумав приємний метод для очищення подібних зображень, і він працює навіть тоді, коли фон або освітлення нерівномірно (тобто набагато гірші випадки, ніж приклад у цьому питанні) і він зберігає колір.
Мої інструкції базуються на Gimp, але це було б дуже схоже в інших програмах, таких як Photoshop.
EDIT: Gimp має фільтр під назвою "Різниця гауссів", який реалізує описаний нижче процес за один крок.
По-перше, зробіть дублікат шару:

Розмийте скопійований шар з розмиттям Гаусса. Використовуйте розмір ядра, достатньо великий, щоб ви не могли виділити жодної деталі з оригінального зображення. Я використовував 100px для зображення в оригінальній публікації.

Це буде виглядати приблизно так:

Потім встановіть "режим" розмитого шару на "Розділити".

Отримане зображення повинно бути лінією на білому тлі.

Що ви тут робите, це, по суті, фільтр високої частоти на зображенні, видаляючи низькочастотну інформацію (повільні зміни кольору фону) та зберігаючи інформацію про високу частоту (лінійне зображення).