Я создал следующую таблицу sqlite-DB и заполнил ее информацией о частоте различных цветов пикселов набора изображений, которые я проанализировал. Я хотел бы выбирать изображения в соответствии с одинаковыми цветами. Я был вдохновлен проектом Мэтью Мюллера (http://research.cs.wisc.edu/vision/piximilar/), повторно созданным похожим веб-сайтом и собираюсь изменить шаблон поиска, который он предлагает.Ищете SQL-запрос для выбора изображений с похожими цветами
Каждое изображение состоит из 100 пикселей и, следовательно, сумма столбцов цвет1 ... color6 всегда 100.
id int | filename text | color1 int | color2 int | color3 int | color4 int | color5 int | color6 int |
------------------------------------------------------------------------------------------------------
1 | 1.bmp | 23 | 25 | 50 | 0 | 0 | 0 |
2 | 2.bmp | 25 | 12 | 11 | 2 | 37 | 13 |
3 | 3.bmp | 15 | 16 | 17 | 18 | 19 | 15 |
4 | 4.bmp | 0 | 100 | 0 | 0 | 0 | 0 |
...
Я пытаюсь написать запрос SQL для выбора всех кортежей, где
a) один из столбцов имеет частоту выше определенного порогового значения. Пример с DB выше: порог = 40 -> строки с идентификаторами 1 и 4.
b) сумма двух из столбцов превышает определенный порог. Пример с БД выше: пороговое значение = 60 -> строки с идентификаторами 1, 2 и 4 возвращаются
с) строки сортируются в соответствии с тем, как «ближе»/«похожи» они в какой-то кортеж. Пример с БД выше: «близость» к идентификатору 2 является цель: Результирующий порядок: 2, 3, 1, 4
Я был бы признателен за ваши предложения для хороших запросов а, Ь и с очень много. Спасибо, Дани
Для a вы хотите «где color1> 40 или color2> 40 и т. Д.» Для b вам нужно что-то подобное, но с каждой доступной комбинацией из двух столбцов. c слишком сложно для моих скудных талантов. –