Страницы: 1
RSS
получение 3-х доминирующих основных rgb цветов из иконок png.
 
Господа, приветствую!
Появилась интересная задумка по созданию БД с 3-мя основными цветами RGB либо html для файлов иконок.
Например иконка форума: цвет1 - оранжевый 55%, цвет2 - белый - 45%, цвет3 - нет (написал на глаз  :) )
Для обработки будут использоваться иконки 16х16 и 32х32, png прозрачные для web.
Из разряда фантастики: желательно попробовать обучить распознавание основных объектов (квадрат, круг, эллипс, треугольник).

Буду признателен за любую помощь.  
 
нашел вот такое, частичное, решение.
Стоит ли дальше его развивать? Правда пока понятия не имею как.
В файле прописываем координаты точки и нажимаем на вставку рисунка. png не поддерживает   :o  

Покопавшись еще пару часов наткнулся на код, немного переделал, пока что для наглядности.
В файле PixelDemo2 открывается форма и вставляются иконки png в image объекты.
Для создания массива палитры попытка применить код, обламывается, так как мы используем image

Код
Dim Palitra(1 To 32, 1 To 32) As Long
Dim y, x As Integer
    For y = 1 To 32
       For x = 1 To 32
            Palitra(x, y) = Picture.Point(x, y)
       Next
    Next
 
Но метода Point у Image нету.
Подскажите как быть.
И как потом из матрицы получить доминантные цвета.
Изменено: Антон - 29.01.2014 00:31:55
 
Мне кажется, более полезно будет "читать" сам файл PNG.
Статья на хабре про PNG.
Там же есть отсылка на спецификацию PNG.
Век живи, век учись - два века проживешь!
 
мда почитал, понял, лучше пойти другим путем.
порыв в гугле наткнулся на Color Extraction от TinEye Labs
Полностью устраивает. Автоматизируем получение данных и дело в шляпе.
 
Итак продолжаем разбор полетов.
Получив данные по основным цветам в hex и  коде и базовым цветам в виде:
#ad580822.9 %Rust(Red)
#faf9f737.3 %Snow(White)
#9a4c0a23.0 %Saddle Brown(Brown)
#706f6c29.1 %Ironside Grey(Grey)
#e39c4323.1 %Fire Bush(Yellow)
у меня вышло 11 базовых цветов и 1500 оттенков.
но Rust это коричневый, хотя для него базовый цвет - красный.

Я хочу чтоб картинка, которая выберется из списка действительно принадлежала к красному,
25500#FF0000Red
либо к оттенкам, но не темным.
Вопрос: каким образом можно такое сделать?
Я попробовал поискать диапазоны границ, не нашел.
Попробовал найти формулу для определения цвета, не нашел.
Хочется указать диапазон такого плана:
Код
If (color > FFA07A) And (color <  FF0000) Then color2 = "(Red)"
если это возможно.
Подскажите пожалуйста как быть?
Надеюсь, мысль донес внятно.
 

вот о чем я!.
Базовый у них у всех голубой, но по факту это все что угодно.
как-то есть способ обойти это недоразумение?  
Страницы: 1
Читают тему
Наверх