DROP TABLE удаляет таблицу.
TRUNCATE TABLE освобождает его, но оставляет его структуру для будущих данных.
Изоляция переднего плана от фона выходит за рамки этого конкретного ответа, но ...
Я обнаружил, что применение фильтра пикселизации к изображению дает действительно хороший результат. набор «средних» цветов.
До
http://img12.imageshack.us/img12/825/pixelate1a.jpg
После
http://img12.imageshack.us/img12/ 8127 / pixelate2.jpg
Иногда я использую этот подход, чтобы получить палитру цветов с определенным настроением. Сначала я нахожу фотографию с общими тонами, которые я ищу, пикселизирую, а затем делаю выборку из полученного изображения.
(Спасибо этой странице за изображения, найденные с помощью Google Image Search)
Я бы сказал, что эта проблема ближе к «невозможной», чем «очень сложной». Единственный подход, который я могу придумать, - это сделать предположение, что фон изображения, вероятно, будет состоять из сплошных блоков схожих цветов, в то время как передний план, вероятно, будет состоять из более мелких блоков разного цвета.
Если это предположение в целом верно, то вы можете сканировать все изображение и взвешивать пиксели в зависимости от того, насколько они похожи или не похожи на соседние пиксели. Другими словами, если бы все соседи пикселя (возможно, в пределах некоторого произвольного радиуса) были одинакового цвета, вы не включали бы этот пиксель в общую оценку. Если соседи имеют тенденцию быть очень разных цветов, вы должны сильно утяжелить пиксель, возможно, пропорционально степени различия.
Насколько я знаю алгоритмы обработки изображений, не существует определенного способа получить "передний план"; возможно получить только границы между объектами . Возможно, вам придется обойтись средним значением или предложенным вами методом подсчета массивов. В этом случае вы захотите дать цветам с более высокой насыщенностью более высокий «балл», поскольку они намного более заметны.