С нами с 18.11.99
Сообщения: 14226
|
Добавлено: 26/03/10 в 22:40 |
|
|
|
|
маниакально- депрессивный псих
С нами с 21.02.09
Сообщения: 1445
Рейтинг: 860
|
Добавлено: 26/03/10 в 22:56 |
один из параметров - вес тумбы. Чем больше ярких цветов, тем тяжелее.
|
|
CDN from $0,8/Mbps - от адванседов
|
10
|
|
|
♣ MAFIA ♣
С нами с 03.07.07
Сообщения: 1657
Рейтинг: 2246
|
Добавлено: 27/03/10 в 01:08 |
kit писал: |
Как научить робота отличать яркие, контраcтные, сочные тумбы, от блеклых, смазанных, одноцветных? |
методом тестовых заданий, проб и ошибок
хорошо отличил - получи на нормальную еду, плохо отличил - получи на черный хлеб ... или голодай
|
|
Директор Порно Добывающего и Порно Перерабатывающего Комбината (ПДППК)
Я - люблю сиджепида!
|
-10
|
|
|
1К13!
С нами с 07.05.04
Сообщения: 7721
Рейтинг: 2428
|
Добавлено: 27/03/10 в 01:30 |
|
|
|
|
♥♥♥
С нами с 28.08.04
Сообщения: 7098
Рейтинг: 5671
|
Добавлено: 27/03/10 в 01:49 |
имхо как раз по методу Foxy Babe:
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7615
Рейтинг: 5760
|
Добавлено: 27/03/10 в 02:32 |
benzole:
интересно было бы узнать про авточек уровня.
в свое время экспериментировал с яркостью-контрастностью, все оказалось жутко нелинейно
|
|
|
|
Soul's Buyer
С нами с 16.11.05
Сообщения: 12702
Рейтинг: 10740
|
Добавлено: 27/03/10 в 02:34 |
+1 Foxy Babe, главное не закармливать робота
|
|
|
|
С нами с 30.08.07
Сообщения: 470
Рейтинг: 272
|
Добавлено: 27/03/10 в 03:28 |
И какое нынче в среднем энергопотребление у хороших роботов на каждую тысячу тумб?
|
|
|
|
1К13!
С нами с 07.05.04
Сообщения: 7721
Рейтинг: 2428
|
Добавлено: 27/03/10 в 03:37 |
Sterx писал: | benzole:
интересно было бы узнать про авточек уровня. |
чессговоря это я просто гипотезу выдвинул. ничего конкретного сказать не могу . смысл в том, что когда хочешь сделать из приведённой в примере "плохой" картинки "хорошую" - одним из распространённых вариантов в фотошопе является просто растянуть диапазон яркостей между блэк пойнтом и вайт пойнтом.
вот пример гистограммы "плохой картинки" -
характерной особенностью является наличие "провалов" справа и слева между основными границами гистограммы и черной и белой точками.
чтобы эту картинку сделать более смотрибельной, надо слайдеры белой и черной точек передвинуть на основные границы гистограммы.
т.е у картинки с плохими уровнями есть провалы в экстремумах яркостей (там где "черная" и "белая" точки):
.........||||||||||||||||......
0------------------------------255
а у картинки с хорошими уровнями - присутствует весь диапазон отсчётов яркостей, притом он имеет более-менее однородную структуру, как правило без резких пиков и провалов:
...||||||||||||||||||||||||||..
0------------------------------255
а как программно определить картинки с такой гистограммой - я хз.
|
|
|
|
♥♥♥
С нами с 28.08.04
Сообщения: 7098
Рейтинг: 5671
|
Добавлено: 27/03/10 в 12:22 |
автоуровни есть в имейджмеджике и он исправляет эту неровность - только вот тока проблема, не значит это что получится нормальная тумба
|
|
|
|
SEOшник
С нами с 20.10.02
Сообщения: 5375
Рейтинг: 1798
|
Добавлено: 27/03/10 в 12:47 |
нейросети, пусть сам робот учится
только сказать труднее чем сделать
|
|
|
|
1К13!
С нами с 07.05.04
Сообщения: 7721
Рейтинг: 2428
|
Добавлено: 27/03/10 в 13:03 |
Kn писал: | автоуровни есть в имейджмеджике и он исправляет эту неровность - только вот тока проблема, не значит это что получится нормальная тумба |
не, вопрос ведь стоИт не в улучшении, а в обнаружении.
|
|
|
|
С нами с 08.02.03
Сообщения: 10564
Рейтинг: 5962
|
Добавлено: 27/03/10 в 14:30 |
Ну как вариант берем 100 точек с тумбы делаем автокорекцию тем же IM по тем же точкам проверяем сильно ли ушел цвет
1.если ваще сильно и везде значит - тумба гавно....
2.если сильно но не везде - тумба гавно?
3.не ушел/не сильно везде/не везде - тумба хорошего качества....
Вощем над попробовать и подбирать...
|
|
|
|
С нами с 06.05.03
Сообщения: 582
Рейтинг: 301
|
Добавлено: 27/03/10 в 14:39 |
Для вышепоставленной задачи достаточно IM.
Копать надо в сторону утилиты identify (с параметром -verbose), а среди выводимых ей результатов смотрим Channel statistics.
Понятно, что тумбы тумбам рознь, но примеры из первого поста определяются данным способом со 100% точностью.
Для более сложных случаев, этого будет не достаточно... У меня сокурсники писали дипломы по теме вроде "пиксельный анализ изображения" - это дело было на Си++, давно и не правда ;)
|
|
|
|
пират
С нами с 25.10.02
Сообщения: 3071
Рейтинг: 776
|
Добавлено: 27/03/10 в 15:10 |
в сервис для распознавания капч зарядить. выдавать две пиксы на выбор - быстро отсеят имхо =)
|
|
скупаю tumblr блоги. дорого.
|
0
|
|
|
Мотиватор :)
С нами с 06.05.09
Сообщения: 3028
Рейтинг: 607
|
Добавлено: 27/03/10 в 23:11 |
Вот результат небольшого эксперимента
Код: | <?
$images = array("3583086.jpg", "5129499.jpg", "5233995.jpg", "5276998.jpg", "5635460.jpg", "5650199.jpg", "5846497.jpg", "5968560.jpg");
foreach ($images as $image)
{
$im = new Imagick($image);
$im->edgeImage(1.0);
$im->posterizeImage(2, false);
$im->writeImage("thumbs/{$image}");
unset($im);
}
?>
|
Результат работы скрипта:
Суть заключается в том, что у "сочных" тумб с большим количеством цветов и не смазанных будут более чёткие края. У смазанных и неконтрастных наоборот - они в результате обработки стали почти чёрными. Далее подсчитываем отношение количества чёрных\не чёрных пикселей, и чем больше не чёрных, тем субъективно более качественная тумба. Не было возможности проверить на большой выборке.
Метод конечно же, не претендует на ноу-хау, и не со всеми тумбами будет давать правильный результат. Но это эксперимент :-)
|
|
|
|
С нами с 18.11.99
Сообщения: 14226
|
Добавлено: 28/03/10 в 03:06 |
Pikuper, alex.raven
спасибо за интересные варианты. Но есть вопросы:
1) Как быстро посчитать черноту картинки?
2) Identify->Channel statistic: что именно там смотреть?
|
|
|
|
Мотиватор :)
С нами с 06.05.09
Сообщения: 3028
Рейтинг: 607
|
Добавлено: 28/03/10 в 03:55 |
kit писал: | Pikuper, alex.raven
спасибо за интересные варианты. Но есть вопросы:
1) Как быстро посчитать черноту картинки?
2) Identify->Channel statistic: что именно там смотреть? |
вот так:
Код: | <?
$images = array(
"3583086.jpg",
"5129499.jpg",
"5233995.jpg",
"5276998.jpg",
"5635460.jpg",
"5650199.jpg",
"5846497.jpg",
"5968560.jpg",
);
$i=0;
foreach ($images as $image)
{
$im = new Imagick($image);
$im->edgeImage(1.0);
$im->posterizeImage(2, false);
$im->writeImage("thumbs/{$image}");
$width = $im->getImageWidth();
$height = $im->getImageHeight();
$black = 0; $nonblack = 0;
for ($y=0; $y<$height; $y++)
{
for ($x = 0; $x<$width; $x++)
{
$pixel = $im->getImagePixelColor($x, $y);
$color = $pixel->getColor();
$value = $color['r'] + $color['g'] + $color['b'];
if ($value>0)
{
$nonblack++;
}
else
{
$black++;
}
}
}
echo "{$image}, black: {$black}, non-black: {$nonblack}<br />";
$i++;
unset($im);
}
?> |
результат работы:
3583086.jpg, black: 18970, non-black: 230
5129499.jpg, black: 17649, non-black: 1551
5233995.jpg, black: 18930, non-black: 270
5276998.jpg, black: 17328, non-black: 1872
5635460.jpg, black: 17461, non-black: 1739
5650199.jpg, black: 18781, non-black: 419
5846497.jpg, black: 16873, non-black: 2327
5968560.jpg, black: 17018, non-black: 2182
пихаем значения в базу данных, и затем делаем
Код: | SELECT * FROM thumbs ORDER BY nonblack DESC; |
скрипт довольно медленный из-за большого числа итераций, так что лучше сначала проапдейтить базу, а не вызывать его в реалтайме для каждой тумбы.
|
|
|
|
С нами с 08.02.03
Сообщения: 10564
Рейтинг: 5962
|
Добавлено: 28/03/10 в 09:27 |
alex.raven отличное решение помоему
Немного подгламурим
Цитата: |
$value = $color['r'] + $color['g'] + $color['b'];
|
лишний кусок при всех нулях итак $color = $pixel->getColor(); будет нулем....
Код: |
$color = $pixel->getColor();
# $value = $color['r'] + $color['g'] + $color['b'];
if ($color>0)
{
|
|
|
|
|
Мотиватор :)
С нами с 06.05.09
Сообщения: 3028
Рейтинг: 607
|
Добавлено: 28/03/10 в 10:04 |
JM писал: | alex.raven отличное решение помоему
Немного подгламурим
лишний кусок при всех нулях итак $color = $pixel->getColor(); будет нулем....
Код: |
$color = $pixel->getColor();
# $value = $color['r'] + $color['g'] + $color['b'];
if ($color>0)
{
| |
не сработает, т.к getColor() возвращает не число, а ассоциативный массив c элементами r, g, b.
|
|
|
|
С нами с 06.05.03
Сообщения: 582
Рейтинг: 301
|
Добавлено: 28/03/10 в 11:16 |
kit писал: | Pikuper, alex.raven
спасибо за интересные варианты. Но есть вопросы:
1) Как быстро посчитать черноту картинки?
2) Identify->Channel statistic: что именно там смотреть? |
Если мы говорим об уровнях, как о показателе сочности картинки, то смотрим на минимальные (0) и максимальные (255) значения для каждого цвета (red, green, blue).
Приведу пример значений для данных тумб:
5635460.jpg red: 0 255; green: 0 255; blue: 0 255;
5846497.jpg red: 0 255; green: 0 255; blue: 0 255;
5968560.jpg red: 0 255; green: 0 255; blue: 0 255;
5276998.jpg red: 26 255; green: 6 255; blue: 0 255;
5129499.jpg red: 24 255; green: 21 255; blue: 9 255;
5650199.jpg red: 3 209; green: 4 189; blue: 0 160;
5233995.jpg red: 16 255; green: 21 255; blue: 15 255;
3583086.jpg red: 1 202; green: 0 182; blue: 0 164;
Для каждой тумбы проводим нехитрые вычисления ( r(max-min) + g(max-min) + b(max-min) ):
765
765
765
733
711
551
713
547
Как видим, только 4ая тумба отклоняется от идеальных результатов, но тут можно ввести какую-то погрешность (тут = 32).
|
|
|
|
Мотиватор :)
С нами с 06.05.09
Сообщения: 3028
Рейтинг: 607
|
Добавлено: 28/03/10 в 15:34 |
Оффтопик: так зарождались фильтры для фотошопа
|
|
|
|
С нами с 01.03.07
Сообщения: 304
Рейтинг: 223
|
Добавлено: 29/03/10 в 11:04 |
alex.raven писал: |
|
Так вот у этой тумбы количество черных и не черных пикселей будет соответствовать качественной тумбе, хотя оригинал так себе
|
|
|
|
С нами с 23.10.08
Сообщения: 577
Рейтинг: 141
|
Добавлено: 29/03/10 в 11:27 |
да имхо тут проще человеку поручить. просто сделать вывод тумб штук по 100 и чтоб он выбирал плохие, кликая по ним.
таким макаром несколько тыщь в день для одного не проблема, а человек 5 вобще выдадут огромные объемы. и качество будет на порядок лучше чем скриптом.
|
|
|
|
Мотиватор :)
С нами с 06.05.09
Сообщения: 3028
Рейтинг: 607
|
Добавлено: 29/03/10 в 11:46 |
leroy_17 писал: | Так вот у этой тумбы количество черных и не черных пикселей будет соответствовать качественной тумбе, хотя оригинал так себе
|
ну я жеж сразу оговорился, на чём основан метод и что у него будут погрешности.
хотя у нас применяется другой метод - я написал простой скрипт, который при помощи ajax одним кликом позволяет отбирать более качественные тумбы, которые попадут на главную страницу:
на странице выводится сразу по 500 тумб, опыт показал, что одна девочка за 2-3 часа ненапряженной работы модерирует около 20,000 тумб.
|
|
|
|