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

> Разработка findcolor, findimage, Pure lua
DarkMaster
сообщение 24.3.2021, 18:01
Сообщение #1


***********

Модератор UOPilot
Сообщений: 9.735
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29621
Пользователь №: 11.279



Собственно обсуждение багов, фич, функционала, тесты и прочее.

Сообщение отредактировал DarkMaster - 27.3.2021, 13:38


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
DarkMaster
сообщение 31.3.2021, 0:45
Сообщение #2


***********

Модератор UOPilot
Сообщений: 9.735
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29621
Пользователь №: 11.279



Sutra, я тут в итоге все-таки наткнулся на один ужас в загашниках... Сразу предупреждаю - это делалось, когда у нас был убогий crystal lua, не было luajit и все работало через Ж из-за этого crystal. Писалось чисто ради теста и экспериментов с графикой и пониманием bmp.
Короче скринилка есть, она работает, но нужно зажмуриться, скопировать код и никогда в него не смотреть. Она еще и дикий тормоз, но вроде шуршит.
зажмурься
Код

local ffi           = require[[ffi]]
local clr           = require[[lua_system\color]]

local function full_trash(path, a, w, h, l)

local binary = {}
function binary.writeInt(file, x)
    local b4=x%256  x=(x-x%256)/256
    local b3=x%256  x=(x-x%256)/256
    local b2=x%256  x=(x-x%256)/256
    local b1=x%256  x=(x-x%256)/256
    return file:write(string.char(b4,b3,b2,b1))

end

local f = io.open(path, 'wb')
f:write([[BM]])
binary.writeInt(f, h*w*3+54)
f:write(string.char(0))
f:write(string.char(0))
f:write(string.char(0))
f:write(string.char(0))
f:write(string.char(0x36))
f:write(string.char(0))
f:write(string.char(0))
f:write(string.char(0))
f:write(string.char(0x28))
f:write(string.char(0))
f:write(string.char(0))
f:write(string.char(0))
binary.writeInt(f, w)
binary.writeInt(f, h)
f:write(string.char(0x1))
f:write(string.char(0))
f:write(string.char(0x18))
f:write(string.char(0))
f:write(string.char(0))
f:write(string.char(0))
f:write(string.char(0))
f:write(string.char(0))
binary.writeInt(f, w*h*3)
for i = 1, 16 do
    f:write(string.char(0))
end


--for i = a, a+l*w, l do
--for i = a, a+l*w, l do
log(a,l,h)
local i = a+l*h-l
log()
log(i,a)
while i >= a do
    for j = i, i+l-1, 3 do
        f:write(string.char(ffi.cast("unsigned char*", j)[0],
                            ffi.cast("unsigned char*", j)[1],
                            ffi.cast("unsigned char*", j)[2]   ))
    end
    i = i - l
end

f:close()
end

showwindow()
wait(100)

local a, w, h, l = clr.getimage(0,0,1919,1079,0)
full_trash([[image\my_pic.bmp]], a, w, h, l)




--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
DarkMaster   Разработка findcolor, findimage   24.3.2021, 18:01
sutra   Я в теме. Я давно отказался от передачи массивов. ...   25.3.2021, 16:34
DarkMaster   Ловлю на слове. Пока хочу допилить, то, что есть,...   25.3.2021, 17:12
sutra   Не помню сколько у меня на фул хд. Я же сказал при...   25.3.2021, 17:28
DarkMaster   Ты где тут нашел адекватного?) Ну а вообще тесты ...   25.3.2021, 17:28
sutra   Да я понял, но у меня в основном нагрузка на файнд...   25.3.2021, 17:42
DarkMaster   По поводу создания изображений и помощи валенкам у...   25.3.2021, 17:50
DarkMaster   Из забавного. Речь пойдет о чтении из памяти данны...   26.3.2021, 0:34
sutra   Ну вот, зачем спрашивается лопатить фул хд. Разбил...   26.3.2021, 16:43
DarkMaster   ну вообще типа да, но типа нет. Поуму нужно делать...   26.3.2021, 16:49
sutra   rmem ("unsigned char*",i)[2] Я собствен...   26.3.2021, 17:07
DarkMaster   Автор Cirus --lua local ffi = require("ffi...   26.3.2021, 17:31
sutra   Понял лишь в общих чертах. Вопрос, а в файл сохран...   26.3.2021, 17:58
DarkMaster   Вот этот момент не совсем ясен. Почему 0 0? Почем...   26.3.2021, 18:00
sutra   Я правильно понимаю, что мне надо добавить возврат...   26.3.2021, 18:11
DarkMaster   Пока кроме скорости ничего не тестил, по идее он в...   26.3.2021, 18:15
sutra   ОК. Буду ждать новостей. Cirus-у отдельное БОЛЬШОЕ...   26.3.2021, 18:16
cirus   Потому что 0 0 это координаты куда скопировать из...   27.3.2021, 1:59
DarkMaster   Накидал кучу вопросов Cirus'у и надеюсь, что о...   27.3.2021, 11:41
DarkMaster   Собственно то, как вот оно есть. -- findcolor -- Ф...   27.3.2021, 13:42
cirus   --lua local ffi = require("ffi") ...   27.3.2021, 21:21
sutra   Дарк, прочитал мануал. Что точно нужно добавить - ...   28.3.2021, 10:15
sutra   Для чего нужен шаг? Например для поиска активной р...   28.3.2021, 10:41
DarkMaster   Как весело провести вечер и утро. А знаете ли вы,...   28.3.2021, 12:31
sutra   Попробовал новый getimage. Работает намного быстре...   28.3.2021, 13:43
DarkMaster   А максимума нет. Размер окна может быть намного б...   28.3.2021, 13:54
sutra   Насколько я понимаю, по уму надо бы возвращать адр...   28.3.2021, 13:59
DarkMaster   Я так и делаю. Все скоро будет =)   28.3.2021, 14:03
DarkMaster   Бэкапу пару дней. !@#$ notepad++   28.3.2021, 23:12
sutra   А тут как дела? Подвижки есть?   29.3.2021, 15:11
DarkMaster   Есть, откатился из-за чудес выше до момента пока ...   29.3.2021, 15:51
DarkMaster   Захват изображения. Вот так вроде похоже на правду...   29.3.2021, 17:09
Cockney   Ну и идейно я делаю замену пилотовских функций с ...   29.3.2021, 20:33
DarkMaster   Планов очень много, идей очень много. Я очень не ...   29.3.2021, 21:00
Cockney   Планов очень много, идей очень много. Я очень не ...   29.3.2021, 23:47
DarkMaster   Если угодно - сглазить не хочу. Блокнот реально по...   29.3.2021, 23:55
sutra   Ну вот, я явился возмутителем спокойствия и благод...   30.3.2021, 11:51
sutra   Попробовал сохранить картинку. Ничего не получилос...   30.3.2021, 13:16
cirus   Это начало bmp файла BM. Указать другую папку, в...   30.3.2021, 13:43
sutra   Создаёт файл 14 байт. Доступ к нему действительно ...   30.3.2021, 15:31
sutra   Последовательно пишу заголовок. Перегружаю Пилот, ...   30.3.2021, 15:44
sutra   Дарк, что-то я не понял как пользоваться твоим ими...   30.3.2021, 17:38
DarkMaster   Значит так. Версия из активной разработки. Дальше ...   30.3.2021, 17:38
DarkMaster   --lua local ffi=require "ffi" local rmem=...   30.3.2021, 17:46
sutra   Ни хрена себе ты наворочал. Тут месяц надо разбира...   30.3.2021, 17:47
DarkMaster   ext.lg - перекочевало из другого скрипта, в рамках...   30.3.2021, 17:47
sutra   Конечно моё мнение субъективно. Но вот зачем вообщ...   30.3.2021, 18:16
DarkMaster   Идейно это был изначально возврат к пилотовскому:...   30.3.2021, 18:19
sutra   Может не доглядел (тогда ткни меня носом), но не н...   30.3.2021, 18:34
DarkMaster   По разности каналов не делал. В достаточно большой...   30.3.2021, 18:41
sutra   Да я всё понимаю. Поэтому и не берусь претендовать...   30.3.2021, 18:43
DarkMaster   Если есть любые идеи, как оно должно быть - готов ...   30.3.2021, 18:43
sutra   Да, кстати. Что-то у меня не получилось сохранить ...   30.3.2021, 18:45
DarkMaster   --lua local ffi=require "ffi" local rmem=...   30.3.2021, 18:54
sutra   Вот объясните мне почему так? Просто хочу понять, ...   30.3.2021, 20:15
DarkMaster   Это является флагом писать строки сверху-вниз или...   30.3.2021, 20:18
sutra   Спасибо, ну примерно так и подозревал. Плохо ничег...   30.3.2021, 20:22
DarkMaster   Ну да, самое крутое не знать и писать. Думаешь я ...   30.3.2021, 20:25
sutra   Соответственно 32 битовая модель не требует контро...   30.3.2021, 20:30
Madeus   speed = speed + os.clock() - t Лишняя строчка?)   30.3.2021, 20:32
sutra   Эх! Понять бы ещё почему у меня проблемы с зап...   30.3.2021, 20:36
DarkMaster   бенчмарк. Ну для релиза лишняя, для работы не сов...   30.3.2021, 20:42
sutra   Перегруз не помог. Нарушается у меня доступ к запи...   30.3.2021, 20:44
Madeus   бенчмарк. Ну для релиза лишняя, для работы не сов...   30.3.2021, 20:59
DarkMaster   Можно удалить. Мой код тестов: speed = 0 catch = 0...   30.3.2021, 21:08
Madeus   Если не указать [deviation] вылетает с ошибкой .lu...   30.3.2021, 21:19
DarkMaster   чуть выше писал, что на данный момент только со в...   30.3.2021, 21:27
Madeus   У меня одного если не указать "abs" то и...   30.3.2021, 22:51
DarkMaster   Какой метод при поиске указан? При методе 2 будет...   31.3.2021, 0:00
Madeus   Какой метод при поиске указан? При методе 2 будет...   31.3.2021, 0:12
DarkMaster   Это сделано исключительно для совместимости со ста...   31.3.2021, 0:23
DarkMaster   Кстати низя. Ты никак диапазоном не задашь, что r...   31.3.2021, 2:06
Madeus   Метод 2, тогда понятно, хотя надо проверить скоро...   31.3.2021, 2:06
DarkMaster   В обоих случаях зоны имели одинаковые цвета? Мето...   31.3.2021, 2:43
cirus   Сделать скрин и искать на скрине, быстрее будет.   31.3.2021, 3:01
DarkMaster   100 прогонов во всех тестах Фулл хд. Абс выкл. r ...   31.3.2021, 3:06
Madeus   В целом абс существенным образом не повлияло на о...   31.3.2021, 17:20
sutra   Спасибо Дарк. Конечно так я и сам могу, но по при...   31.3.2021, 11:27
DarkMaster   Я его код не тестил. Мне скрины на тот момент были...   31.3.2021, 13:03
DarkMaster   Накидал скринилку. Фиксировные битовые константы з...   31.3.2021, 17:44
Madeus   Только в случае, если используется метод 2 или ме...   31.3.2021, 17:51
sutra   Тест старого и нового имиджа по хендлу зона old ...   31.3.2021, 17:59
DarkMaster   Круто я когда-то лажанул. Убрал объявление getimag...   31.3.2021, 18:07
Madeus   Круто я когда-то лажанул. Убрал объявление getima...   31.3.2021, 18:14
sutra   Хотя тестить в lua - гиблое дело. Можно лишь прибл...   31.3.2021, 18:12
DarkMaster   getimage 100 итераций вызов + удаление изображения...   31.3.2021, 18:44
sutra   Дарк, спасибо за скринилку. Всё, на сегодня хватит...   31.3.2021, 19:05
DarkMaster   На самом деле там проблема только одна - он делае...   31.3.2021, 19:23
Madeus   Нужно добавить возврат координат найденного цвета,...   31.3.2021, 22:41
DarkMaster   Функция возвращает таблицу найденных цветов: x y ц...   31.3.2021, 23:23
Madeus   Проблема в том что она возвращает x y относительно...   1.4.2021, 0:11
DarkMaster   Вот для этого тесты и есть =) Поправлю. Спасибо.   1.4.2021, 0:12
Madeus   Супер, спасибо за труды! :) Ждем findimage B)   1.4.2021, 0:17
DarkMaster   1)+ Переделать метод 0 для поиска по относительным...   1.4.2021, 2:12
Madeus   У меня до сих пор тяжелые думы по поводу шага пои...   1.4.2021, 2:35
DarkMaster   Хмм.. Вообще я не то залил, но этот фикс вроде но...   1.4.2021, 2:49
cirus   За всё время шаг поиска использовал только 1 раз. ...   1.4.2021, 3:02
Madeus   То ли лыжы не едут то ли спать пора. В общем что у...   1.4.2021, 3:04
DarkMaster   И то и другое. Спать пора - я не ту версию залил,...   1.4.2021, 3:19
6 страниц V  1 2 3 > » 


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

 

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