Спустя 25 минут, 52 секунды (16.12.2011 - 05:34) TranceIT написал(а):
Чисто теоретически да.
Но если практически, то я на 99% уверен, что задачу, которая перед вами стоит, можно решить совершенно другим способом... Опишите нам ее.
Но если практически, то я на 99% уверен, что задачу, которая перед вами стоит, можно решить совершенно другим способом... Опишите нам ее.
Спустя 13 минут, 37 секунд (16.12.2011 - 05:47) bulgakov написал(а):
Цитата |
Можно ли циклом while проверить каждый пиксель в изображении? |
Можно, а на что вы хотите проверить? Вы понимаете что даже картинка 100x100 это 10000 проверок в цикле while? Оно вам надо? Да и если рассуждать логически на что можно проверить пиксель? На расположение в какой-то определенной области или же на соответствие какому-то цвету или диапазону цветов, все это можно сделать без применения такой топорной работы.
Спустя 2 минуты, 11 секунд (16.12.2011 - 05:49) Игорь_Vasinsky написал(а):
а что 10 000 в while - это так страшно?
Спустя 13 секунд (16.12.2011 - 05:50) bulgakov написал(а):
Неужели среди этого обилия функций вы не нашли то что вам нужно и ничего не придумали лучше чем while? Который совершенно не подходит для этой задачи.
Спустя 41 секунда (16.12.2011 - 05:50) bulgakov написал(а):
Цитата |
а что 10 000 в while - это так страшно? |
Я же просто для примера привел, а если и побольше картинка? 1000x1000?
Спустя 4 минуты, 39 секунд (16.12.2011 - 05:55) Эли4ка написал(а):
Задача состоит в том,чтобы узнать какие цвета преобладают в изображении..а на каком-то форуме видела высказывание ,что цикл while это универсальный цикл,и использовать его можно везде без потерь..
Спустя 1 минута, 11 секунд (16.12.2011 - 05:56) Игорь_Vasinsky написал(а):
ну и что. тут в любом случае для обхода нужно цикл для обхода юзать, если работать с массивом - то самый шустрый - foreach
Спустя 2 минуты, 57 секунд (16.12.2011 - 05:59) Эли4ка написал(а):
Игорь_Vasinsky
это понятно..а что с моим случаем то делать?
это понятно..а что с моим случаем то делать?
Спустя 10 минут, 51 секунда (16.12.2011 - 06:10) Nikitian написал(а):
Полагаю, если интерполировать картинку до размеров 1х1, то получится как раз цвет, наиболее близкий к преобладающему.
Спустя 19 минут, 18 секунд (16.12.2011 - 06:29) Эли4ка написал(а):
Nikitian
не совсем поняла..можно попонятней.
не совсем поняла..можно попонятней.
Спустя 11 минут, 27 секунд (16.12.2011 - 06:41) Nikitian написал(а):
На примере. Пишем из мануала простенький скрипт:
И смотрим что он выдаёт из картинки nikitian.ru/test.jpg тут nikitian.ru/tt.php
Берёте из пиксельной картинки цвет единственного пикселя - это и будет наиболее близкий цвет к преобладающему.
<?php
// The file
$filename = 'test.jpg';
// Content type
header('Content-Type: image/jpeg');
// Get new dimensions
list($width, $height) = getimagesize($filename);
$new_width = 1;
$new_height = 1;
// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// Output
imagejpeg($image_p, null, 100);
И смотрим что он выдаёт из картинки nikitian.ru/test.jpg тут nikitian.ru/tt.php
Берёте из пиксельной картинки цвет единственного пикселя - это и будет наиболее близкий цвет к преобладающему.
Спустя 3 часа, 44 минуты, 54 секунды (16.12.2011 - 10:26) Эли4ка написал(а):
Nikitian,спасибо за пример,но ведь фактически это получается уменьшенная до 1 пикселя копия изображения верно?
Спустя 4 часа, 16 минут, 24 секунды (16.12.2011 - 14:42) Nikitian написал(а):
Конечно. Зато это самый быстрый способ получитm преобладающий цвет с некоторой погрешностью. Хотя, ка правило, в работе с цветами погрешность допустима.
Спустя 15 часов, 46 минут, 21 секунда (17.12.2011 - 06:28) Эли4ка написал(а):
Nikitian
понятно,спасибо.
понятно,спасибо.