Здравствуйте, гость ( Вход | Регистрация )

> Нужен совет по поиску изображения
nykep
сообщение 23.4.2019, 1:43
Сообщение #1


****

Apprentice
Сообщений: 234
Регистрация: 1.9.2012
Группа: Пользователи
Наличность: 1225
Пользователь №: 15.246
Возраст: 25



там где написано Tier: 1 Tier: 2
мне нужно чтоб он мог найти цифры 1 и 2 , но шрифт очень неприглядный
есть вероятность что цифры имеют прозрачность или слегка меняют оттенок в зависимости от положения этого окошка на экране
возможно ли это при худшем раскладе или хотя бы если цифры всегда имеют одинаковые цвета во всех точках? Да и конечно чтоб он не путал их другими буквами и цифрами
(IMG:https://i.ibb.co/Tb5Gv49/screenshot-0001.png)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
FREEON
сообщение 24.4.2019, 0:32
Сообщение #2


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 1264
Пользователь №: 18.346
Возраст: 25



Цитата(nykep @ 23.4.2019, 1:43) *

там где написано Tier: 1 Tier: 2
мне нужно чтоб он мог найти цифры 1 и 2 , но шрифт очень неприглядный
есть вероятность что цифры имеют прозрачность или слегка меняют оттенок в зависимости от положения этого окошка на экране
возможно ли это при худшем раскладе или хотя бы если цифры всегда имеют одинаковые цвета во всех точках? Да и конечно чтоб он не путал их другими буквами и цифрами
(IMG:https://i.ibb.co/Tb5Gv49/screenshot-0001.png)
Почитайте тут:
https://forum.uokit.com/index.php?showtopic...%E8%ED%EA%E0%F5
Можно поискать этим скриптом
Код

// Поиск статичных точек на нескольких картинках
//Закидываете в папку несколько картинок одной цифры, например 1, 1a, 1b. Скрипт сравнит картинки. Пиксели, которые //присутствуют на всех картинках будут оставлены, остальные закрашены. Подберите погрешность по цвету, чтобы не //слишком много было закрашено. Попробуйте искать полученную картинку.
//Важно:
//1. Картинки 1, 1a, 1b должны быть одного размера.
//2. В скрипте поиска числа

set %path [1] "D:\image\Fin"     // путь для сохранения готовой картинки
set $path "D:\\image"                // путь к анализируемым картинкам
init_arr %rgb (1) 255 0 0           // цвет для закрашивания фона в формате RGB
set #deviat 0                            // погрешность в цвете

// остальное не менять
dir(%picture $path *.bmp*)
for #i 1 size(%picture)
    set %a [#i] Loadimage (%picture [#i 1])
end_for

set linedelay 0
set $imya prompt (Введите имя картинки)
set %imya [1] $imya

set workwindow windowhandle
set #r %rgb [1 1]
set #g %rgb [1 2]
set #b %rgb [1 3]
writemem #b %a [1 1] b
writemem #g eval(%a [1 1] + 1) b
writemem #r eval(%a [1 1] + 2) b


set #delta %a [1 4] - (%a [1 4] - %a [1 2] * 3 + 1)
for #j 0 eval(%a [1 3] - 1)
    for #i 0 #delta 3
        for #k 2 size(%a)
            set #z %a [1 1] + %a [1 4] * #j + #i
            set #z1 %a [1 1] + %a [1 4] * #j + #i + 1
            set #z2 %a [1 1] + %a [1 4] * #j + #i + 2
            readmem #b1 #z b
            readmem #g1 #z1 b
            readmem #r1 #z2 b

            set #z3 %a [#k 1] + %a [#k 4] * #j + #i
            set #z4 %a [#k 1] + %a [#k 4] * #j + #i + 1
            set #z5 %a [#k 1] + %a [#k 4] * #j + #i + 2
            readmem #b #z3 b
            readmem #g #z4 b
            readmem #r #z5 b
            gosub rgb

            if  #rmin > #r1 or #rmax < #r1 or #gmin > #g1 or #gmax < #g1 or #bmin > #b1 or #bmax < #b1
                set #rpaint %rgb [1 1]
                set #gpaint %rgb [1 2]
                set #bpaint %rgb [1 3]
                writemem #bpaint #z b
                writemem #gpaint #z1 b
                writemem #rpaint #z2 b
                break
            end_if
        end_for
    end_for
end_for

hint (20 clRed 500 500 (Картинка сохранена))
wait 1000
hint (10 clblack 1920 1 (1))
set $bmp SaveImage (%a [1 1] %path [1]\%imya [1].bmp)
end_script

:rgb
    set #rmin #r - 255 * #deviat / 100
    set #rmax #r + 255 * #deviat / 100
    set #gmin #g - 255 * #deviat / 100
    set #gmax #g + 255 * #deviat / 100
    set #bmin #b - 255 * #deviat / 100
    set #bmax #b + 255 * #deviat / 100

    set #dev 255 * #deviat / 100
    set #bmin #b - #dev
    set #bmax #b + #dev
    if  #bmax > 255
        set #bmax 255
    end_if
    if  #bmin < 0
        set #bmin 0
    end_if
    set #gmin #g - #dev
    set #gmax #g + #dev
    if  #gmax > 255
        set #gmax 255
    end_if
    if  #gmin < 0
        set  #gmin 0
    end_if
    set #rmin #r - #dev
    set #rmax #r + #dev
    if  #rmax > 255
        set #rmax 255
    end_if
    if  #rmin < 0
        set #rmin 0
    end_if
return
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
nykep   Нужен совет по поиску изображения   23.4.2019, 1:43
nykep   ранее использовал этот скрипт и он хорошо работал,...   22.6.2019, 21:31
nykep   я разобрался - нельзя чтоб в папке с анализируемым...   22.6.2019, 22:33
cirus   dir(%picture $path "*.bmp" norec...   22.6.2019, 23:03
nykep   спасибо   22.6.2019, 23:05
nykep   еще вопрос - я раньше все делал на пилотовском язы...   23.6.2019, 0:37
cirus   Зачем тут goto? while 1 = 1 set #a findcolor if #...   23.6.2019, 0:49
nykep   все понятно, значит надо просто вписать break если...   23.6.2019, 1:04
cirus   И break не нужен. set #a 0 while #a = 0 set #a f...   23.6.2019, 2:02
nykep   И break не нужен. set #a 0 while #a = 0 set #a f...   23.6.2019, 2:23
cirus   set #a 1 while #a > 0 set #a findcolor if #...   23.6.2019, 2:27
Fors1k   По идее можно даже и еще короче =) set #a 1 wh...   23.6.2019, 15:16
cirus   Если картинка не найдётся получим ошибку на move,...   23.6.2019, 15:25
Fors1k   Тогда уже так: Не подумал о возможной необходимо...   23.6.2019, 15:31
nykep   я в начале написал не то что имел в виду поэтому м...   23.6.2019, 22:31


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 8.6.2024, 0:26
Designed by Nickostyle