ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Координаты групп точек на изобаржении, php
  #1  
Старый 18.05.2010, 13:47
Аватар для wildshaman
wildshaman
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме:
12942062

Репутация: 1550


Отправить сообщение для wildshaman с помощью ICQ
По умолчанию Координаты групп точек на изобаржении, php

Имеется изображение


Один квадратик - один пиксель.
Необходимо в массив с N элементов (где N - группа связанных черных пискселей, в нашем случае 3) занестив каждый элемент строку с координатами точек, входящих в кучу
Тобдбишь на выходе из такой пикчи мы должны получить
a[1]="2,3|2,4|3,4|3,5|"
a[2]="7,6|7,7|8,5|8,6|"
a[3]="10,1|10,2|"

Надо на php и использованием gd.
Бьюсь уже целый час
Буду благодарен за код.

Последний раз редактировалось wildshaman; 18.05.2010 в 14:30..
 
Ответить с цитированием

  #2  
Старый 18.05.2010, 14:01
Аватар для dr.Web
dr.Web
Участник форума
Регистрация: 02.02.2009
Сообщений: 146
Провел на форуме:
1093500

Репутация: 43
Отправить сообщение для dr.Web с помощью ICQ
По умолчанию

берёшь первую строчку считаешь кол-во пикселей в ширину, пробегаешь попиксельно и считываешь цвет.если цвет чёрный то пишешь координату в массив. цвет узнавать функцией
ImageColorAt(int image, int x, int y);


image - это картинка
x,y - координаты соответственно
 
Ответить с цитированием

  #3  
Старый 18.05.2010, 14:02
Аватар для AK3RN
AK3RN
Новичок
Регистрация: 25.04.2010
Сообщений: 8
Провел на форуме:
72224

Репутация: 5
По умолчанию

Хинт: открой картинку в hex-редакторе
 
Ответить с цитированием

  #4  
Старый 18.05.2010, 14:07
Аватар для dr.Web
dr.Web
Участник форума
Регистрация: 02.02.2009
Сообщений: 146
Провел на форуме:
1093500

Репутация: 43
Отправить сообщение для dr.Web с помощью ICQ
По умолчанию

а при чём тут хекс?
Цитата:
Надо на php и использованием gd.
 
Ответить с цитированием

  #5  
Старый 18.05.2010, 14:09
Аватар для GreenBear
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме:
19975136

Репутация: 4536


Отправить сообщение для GreenBear с помощью ICQ
По умолчанию

[offtop]>Бьюсь уже целый час
и все?) иногда и 3 дня на задачу убиваешь, получая в итоге 100 строк кода [/offtop]
на самом деле задача очень легкая, главное не кодить, а продумать алгоритм. потом уже кодить.
 
Ответить с цитированием

  #6  
Старый 18.05.2010, 14:11
Аватар для dr.Web
dr.Web
Участник форума
Регистрация: 02.02.2009
Сообщений: 146
Провел на форуме:
1093500

Репутация: 43
Отправить сообщение для dr.Web с помощью ICQ
По умолчанию

Цитата:
Сообщение от GreenBear  
[offtop]>Бьюсь уже целый час
и все?) иногда и 3 дня на задачу убиваешь, получая в итоге 100 строк кода [/offtop]
на самом деле задача очень легкая, главное не кодить, а продумать алгоритм. потом уже кодить.
согласен.
 
Ответить с цитированием

  #7  
Старый 18.05.2010, 14:18
Аватар для wildshaman
wildshaman
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме:
12942062

Репутация: 1550


Отправить сообщение для wildshaman с помощью ICQ
По умолчанию

Цитата:
Сообщение от dr.Web  
берёшь первую строчку считаешь кол-во пикселей в ширину, пробегаешь попиксельно и считываешь цвет.если цвет чёрный то пишешь координату в массив.
Соль в том, что надо именно находить ГРУППЫ элементов


Ан нет, решения не нашел верного

Последний раз редактировалось wildshaman; 18.05.2010 в 14:25..
 
Ответить с цитированием

  #8  
Старый 18.05.2010, 15:27
Аватар для astrologer
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

Похоже на ту самую задачу уровня продвинутого школьника из темы "Как стать программистом". Классификация ещё та, конечно, определенно радует "аналог wget" - а это огромный объем работы - сразу после чего следует BB-парсер для которого достаточно определить автомат со стеком.
 
Ответить с цитированием

  #9  
Старый 18.05.2010, 15:40
Аватар для Kaimi
Kaimi
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Как вариант: найди реализацию алгоритма волновой трассировки и допиши под себя.
Задача на графы же...
 
Ответить с цитированием

  #10  
Старый 18.05.2010, 16:18
Аватар для eLWAux
eLWAux
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


Отправить сообщение для eLWAux с помощью ICQ
По умолчанию

воть:

сперва превращает твою картинку в матрицу, типа:
Цитата:
(0,0)0 (0,1)0 (0,2)0 (0,3)0 (0,4)0 (0,5)0 (0,6)0 (0,7)0 (0,8)0 (0,9)1 (0,10)0 (0,11)0
(1,0)0 (1,1)0 (1,2)0 (1,3)0 (1,4)0 (1,5)0 (1,6)0 (1,7)0 (1,8)0 (1,9)1 (1,10)0 (1,11)0
(2,0)0 (2,1)1 (2,2)0 (2,3)0 (2,4)0 (2,5)0 (2,6)0 (2,7)0 (2,8)0 (2,9)0 (2,10)0 (2,11)0
(3,0)0 (3,1)1 (3,2)1 (3,3)0 (3,4)0 (3,5)0 (3,6)0 (3,7)0 (3,8)0 (3,9)0 (3,10)0 (3,11)0
(4,0)0 (4,1)0 (4,2)1 (4,3)0 (4,4)0 (4,5)0 (4,6)0 (4,7)1 (4,8)0 (4,9)0 (4,10)0 (4,11)0
(5,0)0 (5,1)0 (5,2)0 (5,3)0 (5,4)0 (5,5)0 (5,6)1 (5,7)1 (5,8)0 (5,9)0 (5,10)0 (5,11)0
(6,0)0 (6,1)0 (6,2)0 (6,3)0 (6,4)0 (6,5)0 (6,6)1 (6,7)0 (6,8)0 (6,9)0 (6,10)0 (6,11)0
Потом распознает.
Результат:
PHP код:
array(3) {
  [
0]=>  string(7"0,9|1,9"
  
[1]=>  string(15"2,1|3,1|3,2|4,2"
  
[2]=>  string(15"4,7|5,6|5,7|6,6"

Сорс: http://paste.ly/1aF
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Books PSalm69 Избранное 248 27.10.2009 04:52
На PHP, как на "Новые ворота"... Mertvii-Listopad Чужие Статьи 7 18.09.2006 12:42
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ