Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Сканирование изображения на предмет изменения Добавлено: 21.09.05 07:45  

Автор вопроса:  xa0c | ICQ: 993606 
Допустим, у меня есть некоторая область экрана, которая постоянно изменяется. (Допустим, окошко 400х400, в котором на разном фоне рандомно движется, например, красное пятно. Довольно большое - 15х15)

Как получать координаты этого пятна? (Скорость получения координат должна быть максимально высокой, не больше 500-800мс)

%)

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 21.09.05 12:40
Можно наложить треугольную сетку и сранивать цвет в узлах с красным, затем подсчитать среднее арифметическое всех "красных" узлов - это будет ориентировочно центр пятна. Чем мельче сетка, тем точнее, но и тем дольше.

Ответить

Номер ответа: 2
Автор ответа:
 Victor



ICQ: 345743490 

Вопросов: 42
Ответов: 385
 Web-сайт: vt-dbnz.narod.ru
 Профиль | | #2
Добавлено: 21.09.05 17:17

Другая мысль. Сканить окно с шагом 15 px и проверять цвет. А потом делаем так: прыгаем вверх от этой точки на 14 px. Так наметим область, в которой надо искать переход. Дальше берем центр этой области, пробуем там. Если там красный, то выставляем нижнюю границу региона на точку попытки. Если нет, устанавливаем верхнюю точку этой области на ту, в которой пробовали. Ну короче, бинарный поиск.
Однако такой метод здесь не очень оправдан, так как высота всего 15. В принципе гораздо проще просто в цикле определить по x и по y координаты перехода - всего 15 (по x) + 15 (по y)=30 операций (грубо - самый плохой случай).
Если пятно не прямоугольное, этот метод плох - даст то одну точку границы, то другую.

Ответить

Номер ответа: 3
Автор ответа:
 xa0c



ICQ: 993606 

Вопросов: 7
Ответов: 28
 Профиль | | #3 Добавлено: 21.09.05 22:28
Не, такой цвет на фоне(пятно) один единственный, сильно контрастирует с фоном, нужно найти координаты любого пиксела такого цвета(не обязательно центр и границы пятна).

Ответить

Номер ответа: 4
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #4
Добавлено: 21.09.05 23:02
это ж можно сделать типа вебкамеры, направленной в глаз и управлять мышкой :) а кликать морганием :)

Ответить

Номер ответа: 5
Автор ответа:
 xa0c



ICQ: 993606 

Вопросов: 7
Ответов: 28
 Профиль | | #5 Добавлено: 22.09.05 00:32
А когда кликать не нужно - терпеть, не моргать будешь? )

Ответить

Номер ответа: 6
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #6
Добавлено: 22.09.05 01:20
Не ну моргать другим глазом буду :)

Ответить

Номер ответа: 7
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #7
Добавлено: 22.09.05 03:36
Не, такой цвет на фоне(пятно) один единственный, сильно контрастирует с фоном, нужно найти координаты любого пиксела такого цвета(не обязательно центр и границы пятна)
Тогда годится любая сетка мельче a (квадратное пятно) или a/sqr(2) (круглое)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам