Как проверить наличие белых фоновых изображений с помощью RMagick или любых других Ruby Gems? - PullRequest
0 голосов
/ 23 декабря 2010

Я пытаюсь проверить изображения на основе нескольких критериев:

  1. Изображение не должно иметь границы [Я мог бы достичь в какой-то степени, используя RMagick и его метод 'trim'.]

  2. Изображение должно иметь белый фон

  3. Изображение не должно содержать видимых водяных знаков.

Пожалуйста, дайте мне знать, если вы можете придумать какой-либо способ для достижения # 2 и # 3 выше.

Примечание: я использую Ruby, поэтому приветствуется любое решение, использующее Ruby или гемы Ruby.

1 Ответ

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

Для определения # 1 (не удаления) я бы считал цвет каждого пикселя вдоль края и вычислил стандартное отклонение. Если он очень низкий или нулевой (и пиксели не белые), у вас есть граница. Продолжайте делать это в петлях от края, если есть граница шириной в несколько пикселей.

Для # 2 вы можете посмотреть на четыре угла изображения и посмотреть, все ли они белые (или, может быть, 3/4). В качестве альтернативы вы можете подсчитать количество пикселей в изображении, которые являются полностью белыми, и убедиться в их большом количестве.

Что касается # 3, я понятия не имею. Вы говорите о серьезной обработке изображений. Краткий поиск в Google нашел несколько хороших ответов для определения общих водяных знаков с низкой непрозрачностью / смешанными. Существуют хорошие ресурсы для извлечения вашего собственного водяного знака стенографии из изображения, но я подозреваю, что это не ваша цель.

...