Size: a a a

2020 February 16

Ra

Ruslan aka DUDE in AutoIT RU
:)
осваиваю модуль opencv. пытаюсь сделать трекер карты из минискринов. вот что вышло. почти получилось. думаю надо дополнительно ставить маркеры иначе картинку находит немного не точно.
оооо, какая функция опенсв юзается?
т.е. на базе какой
источник

:

:) in AutoIT RU
;Search for Match
   Local $presult = _cvCreateMat($rh, $rw, 5)
   _cvMatchTemplate($hMain_Pic, $hMatch_Pic, $presult, 5)
   _cvThreshold($presult, $presult, $Threshold, 1, 0)
   _cvMinMaxLoc($presult, $pminval, $pmaxval, $pminloc, $pmaxloc, Null)
источник

:

:) in AutoIT RU
если это что то тебе даст. я переделал немного функцию поиска на экране в поиск в картинке из OpenCV-Match_UDF.au3
источник

Ra

Ruslan aka DUDE in AutoIT RU
:)
;Search for Match
   Local $presult = _cvCreateMat($rh, $rw, 5)
   _cvMatchTemplate($hMain_Pic, $hMatch_Pic, $presult, 5)
   _cvThreshold($presult, $presult, $Threshold, 1, 0)
   _cvMinMaxLoc($presult, $pminval, $pmaxval, $pminloc, $pmaxloc, Null)
тебе либо трешхолд подкрутить либо поднять мнимальный порог сходств
источник

Ra

Ruslan aka DUDE in AutoIT RU
для точности
источник

Ra

Ruslan aka DUDE in AutoIT RU
:)
если это что то тебе даст. я переделал немного функцию поиска на экране в поиск в картинке из OpenCV-Match_UDF.au3
я понял, это скорей всего та функция которая возвращает кординаты паттернов
источник

:

:) in AutoIT RU
тут дело в том что я беру сначала 1 скрин 296х296 всей области карты миникарты, беру второй скрин центральный участок 60х60 и начинаю искать этот 2 скрин в 1 . при движении участок находит opencv - я узнаю координаты участка и леплю 2 скрин в 3 огромный файл. далее поиск делаю уже в этом огромном файле. но с  GDIPlus - запутался. нужно очищать ресурсы. так же интересует возможно средствами winapi эти операции можно делать быстрее т.к. приходиться записывать файл на диск и загружать его снова, а он размером 3000х3000.
источник

:

:) in AutoIT RU
я думаю может картинки в grayscale переводить - и так скорость повысить
источник

Ra

Ruslan aka DUDE in AutoIT RU
:)
тут дело в том что я беру сначала 1 скрин 296х296 всей области карты миникарты, беру второй скрин центральный участок 60х60 и начинаю искать этот 2 скрин в 1 . при движении участок находит opencv - я узнаю координаты участка и леплю 2 скрин в 3 огромный файл. далее поиск делаю уже в этом огромном файле. но с  GDIPlus - запутался. нужно очищать ресурсы. так же интересует возможно средствами winapi эти операции можно делать быстрее т.к. приходиться записывать файл на диск и загружать его снова, а он размером 3000х3000.
попробуй дравить на скрытый GDI
источник

:

:) in AutoIT RU
что значит скрытый GDI ?
источник

Ra

Ruslan aka DUDE in AutoIT RU
пример, функции что нужны
#include <GDIPlus.au3>
_GDIPlus_ImageLoadFromFile
_GDIPlus_BitmapCloneArea
источник

Ra

Ruslan aka DUDE in AutoIT RU
@tablo21 исправил
источник

Ra

Ruslan aka DUDE in AutoIT RU
то у меня обертка была
источник

:

:) in AutoIT RU
я понял. _GDIPlus_ImageLoadFromFile эту юзаю
источник

Ra

Ruslan aka DUDE in AutoIT RU
то был массив хранящий не тлько пичу но и его свойства
источник

Ra

Ruslan aka DUDE in AutoIT RU
а я и забыл
источник

Ra

Ruslan aka DUDE in AutoIT RU
:)
я понял. _GDIPlus_ImageLoadFromFile эту юзаю
один раз загрузил а дальше все в памяти клонировать если надо
источник

Ra

Ruslan aka DUDE in AutoIT RU
и обратно
источник

:

:) in AutoIT RU
ок попробую. а в серые тона не подскажеш функцию как перевести ?
источник

D

Detur in AutoIT RU
Google: opencv grayscale
источник