Вверх ↑
Этот топик читают: Гость
Ответов: 106
Рейтинг: 0
#16: 2015-12-14 22:47:38 ЛС | профиль | цитата
Леонид,
Хмммм... А где в программе можно выставить пределы? Например на скрине (черный круг) диаметром 200пикс (приблизительно), я понимаю, условия съемки не приемлимы т.к. всё что я сейчас пытаюсь изобрести , находится на этапе задумки всего лишь. К оружию никакого отношения иметь не будет . Это я задумался над апгрейдом ЧПУ-станка, его отладкой, слежением за смещениями.
http://www.youtube.com/watch?v=JJnenOsbCzU
что то вроде автоматизации этого процесса...

Леонид, Дайте свои контакты, а то я тут пишу в ЛС, у меня ничего не получается... (и вообще форум работает как то .. не как все)

Интересно, в хайсме можно применить какие либо фильтры для вывода изображения чтобы сделать его черно-белым..?
карма: 0

0
Ответов: 8888
Рейтинг: 823
#17: 2015-12-15 01:27:15 ЛС | профиль | цитата
Gitarist, пределы выставляются счетчиком. Сейчас минимум 10 пикселей, а максимум в If-Else, сейчас <41. Выставьте минимум на 150, а на If-Else <151 и будет искать один раз круг D=150.
(Полагаю, что с помощью камеры управлять ЧПУ станком не совсем "толерантно", у станка точность позиционирования в сотых долях миллиметра, а у камеры хорошо, если 0.5 мм наберётся, да ещё с искажениями.
В личке читал ваше сообщение и ответил почта есть в профиле.
Фильтры и готовые и свои можно любые сделать, скоростью HiAsm не хвастает, а функционал почти любой
карма: 19

0
Ответов: 106
Рейтинг: 0
#18: 2015-12-15 01:57:50 ЛС | профиль | цитата
Леонид писал(а):
Полагаю, что с помощью камеры управлять ЧПУ станком не совсем "толерантно", у станка точность позиционирования в сотых долях миллиметра, а у камеры хорошо, если 0.5 мм наберётся, да ещё с искажениями.

Не... Всё должно быть ок при нужной оптике. То-бишь и точку диаметром 0,5 мм на 200 пикселей можно растянуть... Соотв и погрешности сокращаются. Ну не знаю, посмотрим... Эксперимент.

Леонид писал(а):
пределы выставляются счетчиком. Сейчас минимум 10 пикселей, а максимум в If-Else, сейчас <41. Выставьте минимум на 150, а на If-Else <151 и будет искать один раз круг D=150.


Эм.. А Для меня криворукого можно EditBox вывести куда нибудь?

PS Личные сообщ не приходят.

в профиле не видно и-мэйла. Забавно, что кнопки управления вашим профилем зато есть))))))
http://forum.hiasm.net/xf/attach/share/profil.jpg
карма: 0

0
Ответов: 8888
Рейтинг: 823
#19: 2015-12-15 11:39:39 ЛС | профиль | цитата
Gitarist, смотрите почту. Приложил с Мин/Макс.
карма: 19

0
файлы: 1black_dots2.rar [4.2KB] [348]
Ответов: 106
Рейтинг: 0
#20: 2015-12-15 19:26:31 ЛС | профиль | цитата
Леонид писал(а):
Приложил с Мин/Макс.


при введении пределов 180-220 дикие тормоза, распознавание происходит минут 5
карма: 0

0
Ответов: 8888
Рейтинг: 823
#21: 2015-12-15 19:47:13 ЛС | профиль | цитата
Gitarist писал(а):
180-220 дикие тормоза
Да, медленно, но ведь
Леонид писал(а):
скоростью HiAsm не хвастает
Размер картинки от камеры в пикселях какой?
карма: 19

0
Ответов: 106
Рейтинг: 0
#22: 2015-12-16 14:11:20 ЛС | профиль | цитата
Леонид писал(а):
Размер картинки от камеры в пикселях какой?

640x480 ... Точка на 200пикс диам
карма: 0

0
Ответов: 8888
Рейтинг: 823
#23: 2015-12-16 23:04:40 ЛС | профиль | цитата
Gitarist, ничего себе "точка" в треть экрана
(Сейчас пробую превращать картинку в чёрно-белую и делать шаг поиска переменным от большого к одному пикселю, что может привести к ускорению поиска (а может и не привести ))
------------ Дoбавленo в 22.28:
Вот подработал пример, на чёрно-белой матрице ищет точнее и быстрее. Но с глюком, при больших диаметрах поиска падает, наверное выходит за пределы матрицы. Поищу глюк завтра, сегодня пришлось рано играть подъём, сейчас голова не работает black_dots3.rar
карма: 19

0
файлы: 1black_dots3.rar [5.9KB] [420]
Ответов: 106
Рейтинг: 0
#24: 2015-12-18 03:54:41 ЛС | профиль | цитата
Леонид писал(а):
сегодня пришлось рано играть подъём

Чаво чаво делать? Если не секрет))
карма: 0

0
Ответов: 8888
Рейтинг: 823
#25: 2015-12-19 15:18:42 ЛС | профиль | цитата
Gitarist, программка по той ссылке, где слежение за целью chase.rar
(Запоминается фон и ищется изменение этого фона. При непрерывном слежении нагружает компьютер )
карма: 19

0
файлы: 1chase.rar [4.4KB] [413]
Ответов: 16884
Рейтинг: 1239
#26: 2015-12-19 16:35:11 ЛС | профиль | цитата
Леонид писал(а):
При непрерывном слежении нагружает компьютер
Не только.
Зачем время повторного слежения за любой точкой, например, Х1-У1 увеличено в несколько раз?
(наверное зря в телевидении есть "обратный ход луча" и "черезстрочная развёртка" )
Может быть я чего-то не понял. Не мудрено - в IC ни одного комментария
(Бумага, карандаш, резинка.)
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8888
Рейтинг: 823
#27: 2015-12-19 17:53:13 ЛС | профиль | цитата
Tad писал(а):
в IC ни одного комментария
Предполагал в тегах выложить, а в них кириллица при неправильном копировании портит код Щаз напишу
------------ Дoбавленo в 17.02:
Add(InlineCode,2366711,630,203)
{
WorkPoints=#7:doStart|12:doFindBitmap|
EventPoints=#8:onResult|
VarPoints=#
DataPoints=#6:Bitmap|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses Windows,kol,Share,Debug;|0:|4:type|40: TByteArray = array [0..32767] of Byte;|27: PByteArray = ^TByteArray;|35: TBuf = array of array of integer;|2: |28: THiAsmClass = class(TDebug)|10: private|22: buf1, buf2: TBuf;|9: public|26: _data_Data:THI_Event;|23: Bitmap: THI_Event;|25: onResult: THI_Event;|52: procedure doStart(var _Data:TData; Index:word);|57: procedure doFindBitmap(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|40:function LoagIMG(var Bmp:PBitmap) :TBuf;|3:var|17: i,j,k: integer;|16: p: pByteArray;|15: buffer: TBuf;|5:begin|65: Bmp.PixelFormat:=pf24Bit; //Формат картинки|63: SetLength(buffer, Bmp.Height, Bmp.Width*3); //Размер буфера|87: for j:=0 to Bmp.Height-1 do //Заполнение буфера данными из картинки|8: begin|62: p:=Bmp.ScanLine[j]; //Чтение линии|103: for i:=0 to Bmp.Width-1 do for k:=0 to 2 do buffer[j,i*3+k]:= p[i*3+k]; //Перенос данных из линии|7: end;|67: Result := buffer; //Выдача результата|4:end;|0:|30:procedure THiAsmClass.doStart;|3:var|19: Bmp:PBitmap; |5:begin|69: Bmp := ReadBitmap(_Data,Bitmap); //Чтение картинки-фона|42: if (Bmp = nil) or Bmp.Empty then exit;|0:|82: buf2 := LoagIMG(Bmp); //Загрузка картинки фона в буфер №2|15: buf1:=buf2;|4:end;|4: |35:procedure THiAsmClass.doFindBitmap;|3:var|16: Bmp:PBitmap;|54: i,j,k,Xb,Yb,Xe,Ye,Width1,Height1,Temp:integer; |5:begin|66: Bmp := ReadBitmap(_Data,Bitmap); //Чтение картинки|42: if (Bmp = nil) or Bmp.Empty then exit;|84: buf1 := LoagIMG(Bmp); //Загрузка картинки фона в буфер №1|76: Width1:=Bmp.Width-1; //Ширина картинки для цикла|76: Height1:=Bmp.Height-1; //Высота картинки для цикла|15: //Bmp.Free;|95: Xb:=640; //Установка X начального адреса не совпадений |94: Yb:=640; //Установка Y начального адреса не совпадений|93: Xe:=-1; //Установка X конечного адреса не совпадений|93: Ye:=-1; //Установка Y конечного адреса не совпадений|97: for j:=0 to Height1 do //Поиск по ВСЕЙ картинке не совпадающих пикселей|12: begin |29: for i:=0 to Width1 do|14: begin|26: for k:=0 to 2 do|16: begin|46: Temp:=buf1[j,i*3+k]-buf2[j,i*3+k];|74: if abs(Temp)>100 then //Если разница более 100 |49: begin |88: if i<Xb then Xb:=i; //запоминаем адрес начала не совпадений|34: if j<Yb then Yb:=j;|95: if i>Xe then Xe:=i; //или запоминаем адрес окончания не совпадений|49: if j>Yb then Ye:=j; |18: end;|15: end;|13: end;|10: end;|114: _hi_onEvent(onResult, int2str(round((Xb+Xe)/2))+';'+int2str(round((Yb+Ye)/2))); //Выводим центр не совпадений |4:end;|4:end.|
}


------------ Дoбавленo в 17.17:
Tad писал(а):
Зачем время повторного слежения...
Предполагается картинка будет поступать с видеокамеры, тогда можно (и нужно) и синхронизацию ввести. Сейчас пишу проработку по трём кадрам (позавчерашний, вчерашний и текущий) без заранее снятого фона.
карма: 19

0
Ответов: 8888
Рейтинг: 823
#28: 2015-12-25 11:33:29 ЛС | профиль | цитата
Gitarist, ещё пара программок -- слежение за перемещающимся объектом с определением координат центра по трём последовательным кадрам.
Симуляция на компьютере search_facility.rar
Веб-камера search_facility_web_cam.rar
(Жду запрошенных картинок)
карма: 19

0
файлы: 2search_facility.rar [5KB] [383], search_facility_web_cam.rar [3.8KB] [415]
Ответов: 202
Рейтинг: 7
#29: 2015-12-25 13:09:17 ЛС | профиль | цитата
Леонид, спасибо за схемы.
Я - не программер, но, благодаря возможностям HiAsm-а и выкладываемым на форуме примерам, реально приближаюсь к "сочинению" себе клавиатурного робота с "экранным зрением" и какими-никакими "мозгами интеллекта"

Ещё раз СПАСИБО всем, кто умеет писать инлайн... и делится с нами,.. "гражданскими"
карма: 1

0
Ответов: 8888
Рейтинг: 823
#30: 2015-12-27 21:41:43 ЛС | профиль | цитата
Gitarist, возможность рисовать линии прямо на экране поверх форм, но управлять ими или стереть не получится
code_36704.txt
карма: 19

0
файлы: 1code_36704.txt [1.2KB] [537]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)