| 
| 
 | Вопрос # 4 556/ вопрос открыт / | 
 |  Доброго времени суток, уважаемые эксперты!
 Вопрост такой:
 Есть рисунок (любой формат). Пусть будет черний. На нем красная точка.
 Надо програмно (на Делфи)найти координати точки на рисунке.
 Знаю что тут вроде надо с пикселями работать и распознаванием.
 КАК ??? С чего начать. Если есть примери реализации поиска - дайте плз ссылку .
 
 Громадное СПС за любой ответ.
 
|  |   Вопрос задал: hatecows (статус: Посетитель)Вопрос отправлен: 2 сентября 2010, 19:53
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Егор Здравствуйте, hatecows!Можно картинку отобразить с помощью компонента Image, а точку искать с помощью канвы (Canvas), свойства Pixels, содержащего все точки канвы.
 Пример: на форму кладём Image1, метку Label1 кнопку Button1. У компонента Image1 в свойстве Picture задаём имя графического файла. Затем в обработчике нажатия на кнопку пишем код:
 
 procedure TForm1.Button1Click(Sender: TObject);
var
  x, y, c : integer;
begin
  c := clRed;
  for x:=0 to Image1.Width-1 do
    for y:=0 to Image1.Height-1 do
      if Image1.Canvas.Pixels[x,y]=c then
        Label1.Caption := 'x=' + IntToStr(x) + '  y=' + IntToStr(y);
end;Ну или можно искать не "красную" точку, а "нечёрную" точку:
 
 procedure TForm1.Button1Click(Sender: TObject);
var
  x, y : integer;
begin
  for x:=0 to Image1.Width-1 do
    for y:=0 to Image1.Height-1 do
      if Image1.Canvas.Pixels[x,y]<>clBlack then
        Label1.Caption := 'x=' + IntToStr(x) + '  y=' + IntToStr(y);
end;Безусловно, есть и другие варианты решения.
 
|  | Ответ отправил: Егор (статус: 10-ый класс)Время отправки: 2 сентября 2010, 20:41
 
 |  
 Мини-форум вопросаВсего сообщений: 7; последнее сообщение — 3 сентября 2010, 10:48; участников в обсуждении: 2. 
|   | hatecows (статус: Посетитель), 2 сентября 2010, 21:09 [#1]:а если надо еще и размері точки узнать, тоесть сколько вширину в висоту в пикселях ? |  
|   | Вадим К (статус: Академик), 2 сентября 2010, 21:59 [#2]:а "точка" "круглая"? а то еще ромбиком окажется... Галочка "подтверждения прочтения" - вселенское зло. |  
|   | hatecows (статус: Посетитель), 2 сентября 2010, 22:40 [#3]:да, пусть будет круглая, например от лазера точка.(тоесть наскольео она "толстая" например радіус точки). но это может быть и красний крест (например), его координити
 как-то можна высчитать? типа 4 точки креста. Но с ним то я сам разберусь...как параметры точки посчитать ?
 |  
|   | Вадим К (статус: Академик), 2 сентября 2010, 23:25 [#4]:так-с, вначале у нас была точка, а теперь уже усложняем. Это уже распознавание образов. А это задача другого класса. Алгоритм в принципе можно сделать, если предположить, что фигура пусть и безформенная, но более-менее круглая.
 
 
 Цитата (hatecows): как параметры точки посчитать то есть? размеры и положение?
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | hatecows (статус: Посетитель), 3 сентября 2010, 10:07 [#5]:да! |  
|   | Вадим К (статус: Академик), 3 сентября 2010, 10:20 [#6]:а если точка будет в виде буквы О или С. тогда что будем считать? 
 Вопросы нужно задавать правильно. а иначе даже теряется желание придумывать решение.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | hatecows (статус: Посетитель), 3 сентября 2010, 10:48 [#7]:Хорошо, щя еще раз. Есть у меня картинка. Например я на стену посветил лазером и сфоткал. Надо найти координати точки на снимке. Но дело в том, что это может быть и не точка, а например насадка на лазер другая- крестик, или пусть ромбик(квадрат). "Точка" будет полностью залита, по центру пропусков нет. Просто если точка будет маленькой - значит обьект на снимке далеко, если большая- близко. Например при растоянии в 10 см точка будет радиусом в 0,5 см, при большем - 0,1... и т.д. Тоже самое и с крестиком - длини "палок" креста будут менятся. Так как измерить размери "точки"?(или радиус точки, или длину палок креста) А за координати х,у  можна брать средний пиксель в любом случае.
 Извиняюсь что так туманно...я только учусь...
 |  3 сентября 2010, 11:29: Вопрос перемещён из тематического раздела Delphi » Мультимедийные приложения в раздел Delphi » Графика (2D и 3D) в приложениях модератором Ерёмин А.А. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |