X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

4 страниц V   1 2 3 4 >
Открыть тему
Тема закрыта
> GD2
Arks
Arks
Topic Starter сообщение 19.8.2010, 13:27; Ответить: Arks
Сообщение #1


Сейчас пытаюсь научить перцептрона работать с образами, так вот столкнулся с небольшой проблемкой в преобразовании изображения с использованием GD2

[php]
<?php
$filename="img.jpg";
$raw = file_get_contents( $filename );
$img = imagecreatefromstring( $raw );
$height=30;
$width=30;
echo "<table cellspacing='0' cellpadding='0' border='1'>";
for ($y=0;$y<$height;$y++)
{
echo "<tr/>";
for ($x=0;$x<$width;$x++)
{
echo "<td style='width:20px;height:20px;'>";
$rgb = imagecolorat($img,$x,$y);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
if ($r!=255||$g!=255||$b!=255) $result="&nbsp;";
else $result="";
echo $result;
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
?>
[/php]

Пожалуйста объясните откуда битые пиксели на выходе, в самом исходном файле вроде все четко - 8 битный RGB ничего лишнего
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 19.8.2010, 18:07; Ответить: Apay
Сообщение #2


виноват формат jpeg, это стандартные jpeg-овские артефакты, эти точки на картинке у вас не чисто белого цвета, а чуть-чуть сероватые, на глаз не видно, но они есть. кстати, поправте код, он дает у ваc очень невалидный html
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Arks
Arks
Topic Starter сообщение 19.8.2010, 20:56; Ответить: Arks
Сообщение #3


(Apay @ 19.8.2010, 21:07) *
виноват формат jpeg, это стандартные jpeg-овские артефакты, эти точки на картинке у вас не чисто белого цвета, а чуть-чуть сероватые, на глаз не видно, но они есть. кстати, поправте код, он дает у ваc очень невалидный html

У меня там в Фотошопе белым все залито, нарисован черный круг
Фиг с ним с html, это только для наглядности сделал..
Так причина в рисунке или в самом формате?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SOKOJI
SOKOJI
сообщение 19.8.2010, 21:06; Ответить: SOKOJI
Сообщение #4


(Arks @ 19.8.2010, 23:56) *
Так причина в рисунке или в самом формате?


(Apay @ 19.8.2010, 21:07) *
виноват формат jpeg


...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Arks
Arks
Topic Starter сообщение 19.8.2010, 21:16; Ответить: Arks
Сообщение #5


А в каком формате артефактов нет? png может быть или gif?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Letmetouchyou
Letmetouchyou
сообщение 20.8.2010, 3:37; Ответить: Letmetouchyou
Сообщение #6


Интерсно стало, картинку передалть в верстку)
решил попробовать
вот пхп
[PHP]
<style>
div.small {width:3px; height:3px; float:left; }
</style>
<?php
$im = imagecreatefrompng("shot_1272710388.png");
$params = getimagesize("shot_1272710388.png");

$x = $params[0];
$y = $params[1];
echo '<div style="width:'.($x*3).'px; height:'.($y*3).'px">';
for($i =0 ; $i<$y; $i++){
for($j=0;$j<$x; $j++){

$rgb = imagecolorat($im, $j, $i);

$hex = dechex($rgb);

$len =strlen($hex);

if($len != 6 ) {

$delta = 6 - $len;

$hex = str_repeat('0',$delta).$hex;

}
echo "<div class='small' style='background:#".$hex.";'></div>";


}

}

echo '</div>';

?>[/PHP]

вот что получилось
1. это из jpg и все цвета
2. это в чреный красил точки, цвет которых в оригинале далек от белого )

3. это png в png

4. это - делал черно белым, и пытался ставить точки на границах) до ума не довел ибо нет времени шас(
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
locky-yotu
locky-yotu
сообщение 20.8.2010, 8:49; Ответить: locky-yotu
Сообщение #7


Letmetouchyou, жжошЪ)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Arks
Arks
Topic Starter сообщение 20.8.2010, 9:04; Ответить: Arks
Сообщение #8


Letmetouchyou, меня заинтересовал последний пример, можно код в студию? :goodpost:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
locky-yotu
locky-yotu
сообщение 20.8.2010, 10:22; Ответить: locky-yotu
Сообщение #9


Arks, а то, что он выложил - не код ли?)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Letmetouchyou
Letmetouchyou
сообщение 20.8.2010, 13:08; Ответить: Letmetouchyou
Сообщение #10


locky-yotun, не, я пост етот писал пол часа)

вначале выложил код и один пример)

потом еше несколько примеров сделал, но код не выкладывал)

домой как прийду - выложу
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
4 страниц V   1 2 3 4 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


 



RSS Текстовая версия Сейчас: 19.4.2024, 16:09
Дизайн