|
Вопрос # 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) в приложениях модератором Ерёмин А.А.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|