Лучший способ программно заполнить белую рамку черной рамкой на изображениях - PullRequest
0 голосов
/ 17 декабря 2010

У меня более 100 тыс. Изображений, которые когда-то были обрезаны и на них была нанесена белая рамка. Я ищу лучший способ программной обработки каждого изображения, чтобы я мог обнаружить белые границы и либо обрезать границу, либо заполнить ее черным. Нужно ли мне использовать что-то вроде OpenCV или просто старый GDI? Я приложил изображение для справки.

С чем мне нужно работать (белые границы есть, поверь мне):

http://cdn -images.hollywood.com / сайт / SO_3666231.jpg

1 Ответ

0 голосов
/ 17 декабря 2010

Простой старый GDI должен работать просто отлично, за исключением одного - я не знаю, как заставить GDI сохранить изображение обратно в файл. Когда мне приходилось делать это в прошлом, я писал кусочки файла .BMP, который не работал бы для JPEG. Время для нового вопроса?

Вам потребуется двухэтапный процесс - сначала измерьте белые границы, а затем скопируйте изображение в новое изображение, чтобы избавиться от них.

Начиная с изображения JPEG, возникают две небольшие проблемы. Во-первых, изображение будет содержать некоторые артефакты декодирования, и белый цвет не всегда будет значением RGB (255 255 255). Вам нужно будет установить порог, например (250 250 250), и посмотреть, как это работает; если он не охватывает все границы, вам нужно попробовать более низкий порог. Во-вторых, сохранение изображения в формате JPEG приведет к появлению дополнительных артефактов, снижающих качество изображения. Надеюсь, это будет в приемлемых пределах, но только вы можете судить об этом.

Мне жаль, что это не совсем ответ, возможно, больше похоже на 1/4 ответа. Я надеюсь, что вы найдете это полезным.

...