Вверх ↑
Этот топик читают: Гость
Этот топик был перемещен из раздела "Помощь по среде"
Ответов: 964
Рейтинг: 12
#16: 2015-01-23 00:44:29 ЛС | профиль | цитата
Леонид спасибо за поддержку ... Посмотрю .
Все-же нужно поднять второй комп , для программирования но без сети ...
(И то и другое одновременно "в одной всем известной оси" держать "сил моего разума" явно не хватает .)

карма: 0

0
Ответов: 8926
Рейтинг: 823
#17: 2015-01-24 11:36:21 ЛС | профиль | цитата
AlexKir, сравнивать картинки дело затратное, гораздо быстрее работать с Stream, а ещё быстрее загонять обе картинки в IC и там их обрабатывать.
Уменьшить затраты можно, если кадры с камеры обрабатывать не непрерывно, а по событию "нажатия", контактиком или звуком. У меня камера с микрофоном, схемку распознования звука выкладывал, вот и подработал её на стук пальцем по столу comparesound_ic_stuk.sha
карма: 19

0
файлы: 1comparesound_ic_stuk.sha [16.1KB] [409]
Ответов: 964
Рейтинг: 12
#18: 2015-01-25 02:31:34 ЛС | профиль | цитата

Идея вообще на андройд потом перетащить ...
Так что пока думаю сделать просто "действующею модель" ...
Кстати на айфон сделали "звуковую версию" бумажной клавиатуры то есть отказались от использования камеры и ловят именно "постукивания" по столу "пеленгуя" координаты (Интересно в айфоне что стерео микрофон или акселерометр НАСТОЛЬКО чуткий?)

карма: 0

0
Ответов: 8926
Рейтинг: 823
#19: 2015-01-25 09:53:47 ЛС | профиль | цитата
AlexKir писал(а):
.."звуковую версию" бумажной клавиатуры..
Вот что надо испытать, гораздо проще, чем видео
карма: 19

0
Ответов: 964
Рейтинг: 12
#20: 2015-05-04 15:09:20 ЛС | профиль | цитата
И так я вернулся !
Продолжение преследует вас ...

В общем надумал я для начала сделать определеннее границ рабочего поля .
Ограничители ...
fr0.jpg
Возможные варианты расположения .
fr1.jpg
Примерный алгоритм работы
0 Делаю картинку черно белой и выкручиваю контраст в максимум
(По сути делаю однобитовой).
1 Ищу все контуры после очень сильного сглаживания.
2 По одному привожу их (беря из исходного изображения) к масштабу шаблона изображения
3 Кручу верчу и накладываю на шаблон с логической операцией NOT или ХОR
(нужно погонять проверить ) Считаю оставшиеся пиксели ...
4 Если их достаточно мало считаю фигуру распознанной ..
5 Запоминаю углы поворота и начинаю поиск второй фигуры ...
6 По взаимному расположению ограничителей определяю расположение рабочего поля в пространстве.

Может кто нибудь предложить алгоритм получше ?


карма: 0

0
файлы: 2fr0.jpg [110.5KB] [874], fr1.jpg [85.8KB] [866]
Ответов: 106
Рейтинг: 0
#21: 2015-12-12 22:27:39 ЛС | профиль | цитата
AlexKir писал(а):


Очень интересно, продолжайте плиз
карма: 0

0
Ответов: 964
Рейтинг: 12
#22: 2016-04-10 20:55:22 ЛС | профиль | цитата
Уже продолжил (кое чего добился и.... временно заморозил проект ) правда писал уже в Лазарусе ...
[flood]




Увеличить
Если интересно более подробно взглянуть на ход моих "глубоких мыслительных процессов" заходите сюда
Серия проектов "Дополнение к реальности"

"Лаборатории распознавания образов"
---------------------------------------------------------------------------
Главные особенности текущей версии проекта
1 Подключение к веб-камере
2 Работа со скриптами
3 Возможность смены алгоритма обработки изображений "на лету"
без изменения кода основной программы

Текущая версия Nv_BETA003M.zip (Исходники прилагаются )
Можете попробовать писать свои скрипты обработки или распознавания они очень простые ....
Пример: сглаживание (не по Гаусу зато работает быстро )...
(Кстати, честно признаюсь что "выдрал" код из элемента ХайАсма )

Скрипт stage2.scr
#pas
Var
W,H:Integer;
X,Y:Integer;
const
step = 3;
d_step = 1;
//(step - 1) div 2;
Procedure Simple;
Var
I,J,T,R,_R,_X,_Y,CNT:Integer;
begin
for j := 0 to h-1 do begin
for i := 0 to W-1 do
begin
cnt := 0;
_r := 0;
for t := 0 to step*step-1 do
begin
_x := i + t mod step - d_step;
_y := j + t div step - d_step;
if (_x >= 0) and (_x < W) and (_y >= 0) and (_y < H) then
begin
R:=Red(GetPixel(1,_X,_Y));
inc(cnt);
_R:=_r+r;
end;
end;
r := _r div cnt;
SetPixel(1,I,J,RGB(r,r,r));
end;
if J mod 10 = 0 then RunTime (H,Y );
end;
end;
Const
clBlack = $000000;
clWhite = $FFFFFF;
begin
W:=GetWidth(0);
H:=GetHeight(0);
//Amount:=1;
//StrToInt(GetParam('AM'));
// if Amount=0 then Exit;
Simple; Simple;
//MSG('script run...'+IntToStr(w)+' '+IntToStr(H)+' ');
SResult('Stage 2 '+#13+#10+'Ok');
end.
[/flood]
карма: 0

0
Ответов: 1841
Рейтинг: 369
#23: 2016-04-10 23:00:44 ЛС | профиль | цитата
AlexKir писал(а):
правда писал уже

Почему не OpenCV?
карма: 1
0
Ответов: 964
Рейтинг: 12
#24: 2016-04-11 00:56:48 ЛС | профиль | цитата
Почему не OpenCV?
Просто нет желания не разобравшись в основах использовать довольно сложную библиотеку ...
Да и кроме того, на том уровне знаний , что есть у пока меня (в вопросах распознавания образов и обработки изображений)
совершенно нет разницы, буду ли я пытаться самостоятельно писать что-то вроде моей "Лаборатории распознавания образов"
или мучить "неясно как и не понятно что делающие функции из OpenCV" ....

"ЛРО" это хотя-бы полностью моя разработка и я точно знаю, что и как там работает.
Быстродействие в экспериментальном прогоне цепочки методов обработки изображений почти не важно .
Важна простая контролируемая среда для постановки экспериментов ....

И что важно она у меня уже есть и работает !
Зы
А еще это один из моих проектов по восстановлению и развитию моих навыков программирования..
Согласитесь, что писать в качестве упражнения что-то вроде "ЛРО" значительно интереснее и полезнее,
чем просто читать учебники и разбирать тамошние примеры.
карма: 0

0
24
Сообщение
...
Прикрепленные файлы
(файлы не залиты)