2010-01-21 1 views
5

Быстрый вопрос: на этом сайте здесь http://www.vischeck.com/examples/ есть несколько изображений чисел, спрятанных в другом цвете, для проверки цветовой слепоты. Есть ли способ, которым эти изображения могут генерироваться алгоритмически?Отображение дальтонических изображений

+0

Это называется листы Ишихара. Я сам заинтересован в этом алгоритме. – neoneye

ответ

1

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

+0

Можете ли вы связать меня с местом, которое генерирует эти точечные поля? – Dirk

+0

Извините, никогда не видел. Но вы можете использовать любую пару или набор цветов и генерировать или копировать практически любые случайные беспорядки точек. Точки не важны. Очень важно, чтобы вы начали с изображения, которое не показывает буквы, когда в оттенках серого и coloru есть несколько точек, которые образуют букву или число. Это все. Цвета важны, и вы должны получить их от известных тестов. – naugtur

0

На каком языке вы кодируете? Невозможно дать окончательный ответ, не зная о своей проблеме.

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

Еще одна возможность, которую вы имеете, состоит в том, чтобы использовать поле с равномерными кругами, даже если оно не так элегантно.

Тогда вы бы выбрали два цвета, которые не должны быть (легко) различимыми (определенными?) Цветными слепыми людьми.

Теперь вы рисуете число в квадратном поле (используя одну из 10 матриц для чисел 0-9, которые представляют каждый символ числа с размерами, совместимыми с полем круга) с использованием (ограниченных) случайных вариаций двух цветов, которые человек не должен различать.

Другими словами, если человек не должен различать красный и зеленый, вы должны сделать персонажа, используя оттенки красного на фоне оттенков зеленого фона.

Возможно, вам понадобятся функции HUE> RGB, для .NET вам нужно будет искать библиотеку (я помню, как она использовалась в кодедекторе).