Вверх ↑
Этот топик читают: Гость
Ответов: 963
Рейтинг: 12
#31: 2015-01-20 15:02:17 ЛС | профиль | цитата
Кстати по теме ДР
Нашел я програмулину Камера2 для андройда Рекомендую посмотреть !
Только представите такое в очках др...


http://piccy.info/view3/7598494/f4d47363d3bb65c916ecc4a68a1de997/

http://piccy.info/view3/7598509/3778b5d7fbd809352c5a694453b0d70e/
------------ Дoбавленo в 15.02:
Да отслеживание движущихся объектов все-же добил !
"Ура мне !" Правда радость малость подмочена тем что ошибки были из разряда
"и где была моя "гениальная" башка когда я их делал?"
[offtop]
Представляете записал ссылку на массив в место копирования ...
Кстати кто-то знает быстрый способ копировать массивы ?
[/offtop]

zoom_360.7z
Вот даже "схемотехнику" малость "причесал" ...

Параметр "Чувствительность" если кто не понял работает в обратную сторону ...
(1 высшая чувствительность и при увеличении снижается )
Сглаживание добавил как защиту от "цифрового шума" ...
Шаг сканирования идеальный разумеется 1 но тормоз ...

Для работы режима "слежение" галка "обновление" должна быть установлена ...
Перед выходом "гасите свет" то бишь желательно останавливать таймер кнопкой "авто-стоп" Если программа при выходе выдала "серое окно " ошибки веб камеру возможно придется подключать заново (просто выключить и включить в порт по новой ) ...



карма: 0

0
файлы: 1zoom_360.7z [57.4KB] [439]
Ответов: 963
Рейтинг: 12
#32: 2015-01-28 22:12:04 ЛС | профиль | цитата
С распознаванием пока не шибко получается ...
Так что решил с вспомнить идею "СУПЕР ЗУМА" ( пока все "в процессе")
В стабильной версии есть чуть кривое выделение участка картинки мышкой и накопление "статистических данных" (просто кидаю 9 кадров в массив ) И уже можно что-то увидеть по кнопке SuperZoom ...
(Миниатюры кликабельны )
Да ! При выделении должно быть выключено "Обновление" !
zoom_362.7z

Дальше думаю сделать "Статистический зум" ...
На первом этапе думаю просто выводить картинку в "утроенном разрешении" (то есть рисовать квадратиками 3х3 пиксели из соседних кадров )
Зы
Отслеживание движения осталось но теперь панель убирается при снятой галке .


карма: 0

0
файлы: 1zoom_362.7z [64.2KB] [418]
Ответов: 8886
Рейтинг: 823
#33: 2015-01-29 16:59:29 ЛС | профиль | цитата
AlexKir, ваш супер-пупер ZOOM не в ладах с арифметикой, на 20% уменьшает по ширине относительно высоты
На приложеной картинке книга размером 218х284 мм снятая с расстояния 2.4 м и увеличенная вашей программой и Paint-м (настоящий програмер рисует в Paint-е ).
(Чтобы увеличить разрешение картинки в четыре раза по пикселям (в два раза по размерам) надо минимум 16 кадров обработать с совсем другой математикой, чем применённая в схеме.)
карма: 19

0
файлы: 1Арифметика.rar [127.8KB] [510]
Ответов: 963
Рейтинг: 12
#34: 2015-01-30 00:17:28 ЛС | профиль | цитата
Леонинд, спасибо за оклик ...

(страшным шепотом ) я в курсе ...

То что получается по кнопке ZOOM совершенно "не гармонично и не симметрично" (Единственный "фокус покус" в том что можно в "риал-тайм" увеличивать "живую картинку" до полного абсурда типа 10Х!0 пикслей на весь экран ) а СуперЗум пока вообще неготов ( Как я писал есть выделение мышкой и запись девяти кадров (точнее 9ти блоков вырезанных из 9ти кадров ) с возможностью их просмотреть ... )

Насчет "арифметики " буду пробовать... Но нужно ведь с чего-то начать ?

карма: 0

0
Ответов: 963
Рейтинг: 12
#35: 2015-01-31 12:04:14 ЛС | профиль | цитата
И так первая версия "Cупер Зума" работает ! (Фанфары цветы и фейерверки )

Впрочем оркестр играющий тушь малость фальшивит ...

1 Баги глюки
Обнаружил например что на копку СуперЗум нужно нажимать один раз после выделения квадрата и еще раз после открытия окна с миниатюрами, а еще что картинка MультиЗума буквально вывернута на изнанку ...
(Ну это кое как "попгавил" )

2 ТОРМОЗА !
Нет не так... ТОРМОЗА !
( пока получится "утроенное" изображение иногда вполне можно пообедать ..)



zoom_365_2.7z

"Что есть то есть !"
Но это пока (Если честно я сам удивился что ХОТЬ ЧТО-ТО заработало можно сказать с перового раза )

Зы
Арифметика пока та что и обещал.. (то есть просто рисую квадраты 3х3 писклями из соседних кадров ... "медленно и печально" )
Но дальше я думаю засунуть эту с позволения сказать "математику" в инлайн код так что надеюсь будет веселее ....
карма: 0

0
файлы: 1zoom_365_2.7z [69.6KB] [479]
Ответов: 963
Рейтинг: 12
#36: 2015-02-03 03:18:04 ЛС | профиль | цитата
Дык! Скомпилировал в "Д4"... Уже чуть быстрее ...
И еще что-бы тупо не смотреть на монитор при пересечете МультиЗума сделал "динамический превью"

Однако, глюки с ПаинтБоксом не мало позабавили ....
Плюнул и вывел графику прямо на панель через хамбел !
(Знаю что "не каширно" но все равно буду переписывать )
zoom_365_52.7z

___________________________________________________
06-02
Кое что поправил .
Убрал часть кода в ВизуалИнлайн (все-же хайасм не для вычислений даже простейшие действия на три строчки в паскале в "чистом хайасме" смотрятся монструозно ...)
zoom_365_56.7z

карма: 0

0
файлы: 2zoom_365_52.7z [151.6KB] [396], zoom_365_56.7z [73.5KB] [398]
Ответов: 963
Рейтинг: 12
#37: 2015-02-26 20:35:18 ЛС | профиль | цитата

Да кстати «о недалёком будущем» МелокоМягкие обещают скоро сварганить «голобенд» !
Точнее Microsoft [color=rgb(165, 42, 42)]HoloLens [/color]...
(Или если посмотреть на внешний вид «Амусферу» - интересно кто у кого дизайн спер? )


На картинках смотрится действительно офанорительно !
http://www.microsoft.com/microsoft-hololens/en-us

карма: 0

0
Разработчик
Ответов: 4697
Рейтинг: 426
#38: 2015-02-26 21:55:43 ЛС | профиль | цитата
AlexKir писал(а):
Или если посмотреть на внешний вид «Амусферу» - интересно кто у кого дизайн спер?

САО выходить начало намного раньше анонса мелкософта.
AlexKir писал(а):

На картинках смотрится действительно офанорительно !

Ага, и на видео. А в реале окажется все на пару порядков хуже, и с неимоверными лагами и тормозами (из-за слишком большого объема вычислений даже для современных микроконтроллеров)
карма: 10
0
Ответов: 963
Рейтинг: 12
#39: 2015-03-03 02:46:34 ЛС | профиль | цитата
Assasin писал(а):

Ага, и на видео. А в реале окажется все на пару порядков хуже, и с неимоверными лагами и тормозами (из-за слишком большого объема вычислений даже для современных микроконтроллеров)

Есть один фокус 3д ! - можно увеличить фпс и сильно уменьшить разрешение ...
Качество в динамике будет на глаз очень даже приличное .
А при остановке или статике можно и "хай-енд" считать ...


карма: 0

0
Ответов: 963
Рейтинг: 12
#40: 2015-03-05 18:27:30 ЛС | профиль | цитата
Новая версия «Доморощенного расширителя реальности »
sv_36_61_mod.7z

Новая версия «Доморощенного расширителя реальности »
1 Выделил «СуперЗум» в отдельный EXE(Для упрощения отладки )
2 Попутно разобрался с записью (чтением) массива картинок в файл (из файла)
3 Наконец придумал как можно сделать «управляемый» показ кадров виде миниатюр
в скрол боксе ( может кому-то пригодится )

Обнаружил непонятные не регулярные артефакты при пересчёте «Супер зума» впечатление что происходит «сбой цикла» . ( Что в почти трех строчках кода в Визуал инлайн может вызвать что-то подобное неясно … Кривизна Кол ? Какие-то неприятности со стеком ? Глюки компилятора ? Прямое заполнение картинки ? )
-
Зы
Надо будет сделать упрощённый SupерZoom в FASM вот уж где « ускорение и перестройка» должны быть на высоте ..
А вообще нужно алгоритм сборки SupерZoom-а сделать по изощреннее
Что-то вроде анизотропии в динамике …

Зы Зы
В лунуксе из под Wine работает без артефактов но тормоз уму непостижимый
sz.jpg

карма: 0

0
файлы: 2sv_36_61_mod.7z [125.2KB] [514], sz.jpg [91.3KB] [1699]
Ответов: 963
Рейтинг: 12
#41: 2015-05-18 15:43:01 ЛС | профиль | цитата
Да, похоже разобрался с глюком в коде пересчета !
code_35668.txt
В общем в сложно составных циклах с прямой прорисовкой на экран желательно добавлять "возврат тиков"... То есть:
bb.Pixels[X,Y]:=C;
Applet.ProcessMessages;

Возможно что и при использовании "чистого Хайасма" тоже есть нужда в чем-то похожем ...

Так что есть идея, что не помешает дбвить элемент "Возврат тиков"(Вообще, кстати, полезная штука помогает от заисания в глубоких рекурсиях и циклах ) или встроить опциональное включение Applet.ProcessMessages; во все графические оператции и циклы ....

карма: 0

0
файлы: 1code_35668.txt [1.4KB] [427]
Разработчик
Ответов: 4697
Рейтинг: 426
#42: 2015-05-18 16:06:10 ЛС | профиль | цитата
AlexKir писал(а):
Applet.ProcessMessages

Application
карма: 10
0
Ответов: 963
Рейтинг: 12
#43: 2015-05-23 20:09:12 ЛС | профиль | цитата
Assasin писал(а):
...

Укакошил ...
"Мдя... Чукча писатель не дремлет и уговорам не внемлет ... Чуть зазывался и снова у нас "Чукча писатель ЭНТУЗИАСТ !"... "

Но планирую исправится и выдать на гора элемент распознавания границ контуров ...

Код в лазарусе уже отлажен но на это раз проверю форум на предмет повторов !

карма: 0

0
Ответов: 963
Рейтинг: 12
#44: 2015-05-27 20:08:41 ЛС | профиль | цитата
Элемент пока не сделал но вот рабочий код из Лазаруса ..


#pas
// Обработка этап 4 Поиск контуров
procedure TFm1.Button5Click(Sender: TObject);
Var X,Y,w,h,C:Integer;
//Поиск границ контура
// X,Y любая точка принадлежащая контуру
function ScanOBJ(Var image:tBitmap;x,y:integer):trect;
const delta: array[1 .. 8] of record dx, dy: integer;
end = ( (dx:0; dy:1),
(dx:1; dy:0),
(dx:0; dy:-1),
(dx:-1; dy:0),
(dx:1; dy:1),
(dx:1; dy:-1),
(dx:-1; dy:1),
(dx:-1; dy:-1) );
var
tempr:trect;
i,XC,YC,H,W: integer;
R:TLazRegion;
begin
with result do
begin
Left := x; Top := y;
Right := x; Bottom := y;
end;
image.Canvas.Pixels[x, y] := clRed;
//Application.ProcessMessages;
w:=image.Width-1;
h:=image.Height-1;
for i := 1 to 8 do
begin
XC:=x+delta[i].dx;
YC:=y+delta[i].dy ;
if not (xc in[0..w]) then next;
if not (yc in[0..h]) then next;
if (Image.Canvas.Pixels[xc,yc] = clBlack) then
begin
tempr := ScanOBJ(image, x+delta[i].dx,y+delta[i].dy);
if tempr.Left <= result.left then result.Left := tempr.Left;
if tempr.right >= result.right then result.right := tempr.right;
if tempr.top <= result.top then result.top := tempr.top;
if tempr.bottom >= result.bottom then result.bottom := tempr.bottom;
end;
end;
end;
Label L1,LE;
Var
B,b2:TBitmap;
R:TRect;
FL:Boolean;
begin
// ShowMessage('0') ;
Imag1.Picture.Bitmap.Canvas.Brush.Color:=clWhite;
Imag1.Picture.Bitmap.Canvas.FillRect(Imag1.Picture.Bitmap.Canvas.ClipRect);
ClArBMP;
FL:=false;
Repeat
B := TBitmap.Create;
B.Assign(Image2.Picture.Bitmap);
W:=B.Width;
H:=B.Height;
// Поиск первой точки
For X:=0 to W-1 do
For Y:=0 to H-1 do
begin
C:= B.Canvas.Pixels[X,Y];
if C=clBlack then begin
//Запуск рекурсивного поиска границ
R:=ScanOBJ(B,x,y );
// Application.ProcessMessages;
Goto L1;
end;
// Application.ProcessMessages;
end;
FL:=true;
GOTO LE;
L1: // !!!
Image2.Picture.Bitmap.Clear;
Image2.Picture.Assign(B);
//Lab1.Caption:= format('X:%d, Y:%d, X1:%d, Y1:%d',
// [r.left, r.Top, r.Right, r.Bottom] );
if R.Right <W-1 then inc(R.Right,1) ;
if R.Bottom <h-1 then inc(R.Bottom,1) ;
{-------------Нарезка блоков--------------------------- }
//Imag1.Picture.Assign(B);
b2:=TBitmap.Create;
B2.SetSize(r.Right-r.Left+1,r.Bottom-r.Top+1);
B2.Canvas. CopyRect(rect(0,0,b2.Width-1,b2.Height-1),bs.Canvas,r);
InsertBMP( b2);
B.Clear;

//============Визуализатция =======================
SELF.CheckBox1.Checked:=false;
B.Assign(Imag1.Picture.Bitmap);
//B.Canvas.Brush.Color:=clRed;
B.Canvas.Pen.Color:=clred;
B.Canvas.Frame(r);
B.Canvas.TextOut(r.Left,r.Top,intToStr(CB-1));
Imag1.Picture.Assign(B);
// Image3.Picture.Bitmap.Assign (b2);
Image3.Picture.Bitmap.Assign (IC[CB-1]);
// ShowMessage(intToStr(CB));
LE: Until Fl;
b.Free;
end;

Главная фишка всего этого недоразумения функция ScanOBJ единственный недостаток разрушает картинку перекрашивая контур за контуром хотя алгоритм работает даже при нахождении "матрешки" из контуров ...
Ну и скорость и за промотора всего контура по точкам .
карма: 0

0
Ответов: 963
Рейтинг: 12
#45: 2017-07-26 15:45:13 ЛС | профиль | цитата
"Загадочный скриншот "...

Где-то я же это видел ... (Задумчиво ковыряю ботинком клумбу..)

К сожалению это не про хайасм ....

(Нужно было заставить работать программу на планшете в Win10(64)+там целых две камеры, а старый способ захвата не заработал ) ...

Но точно продолжение темы !

И так проект "Подзорная труба" писал специально для планшета но работает где угодно от ХP до win10) ...
( все просто (управление уличением + - * ) главная проблема была в доступе к выбору конкретной камеры через DX в Win10 )
Датчик движения (сделанный совсем по другому чем то что я делал на ХайАсме ) в первом приближении тоже работает .

Далее:
Добавил некий прообраз будущей системы слежения с галереей отслеженных кадров ...
(Открывается по кнопке "Смотреть" )
+ подложил под основную панель скрол бокс ...
Добавил сдвиг стрелками ....
Добавил рамку "видоискателя" в окошке предпросмотра ...
Добавил возможность увеличения в "галерею слежения" ...

Truba_DS_0_0055.7z собрано в "транковом" Lazarus 1.7( исходники прилагаются )

Есть более свежая сборка но отличий мало
(Флажок "зеркало" в датчике движения и дата время в "галереи слежения")

Зы
В планах на "новом уровне" повторить многострадальный Супер Зум(тем более, что его можно на ХайАсме оставить благо там отдельный модуль ) ... и вообще накидать кучу фильтров и стереоэффектов ... + Добавить отслеживание с распознаванием (что тоже могу как-бы не с чистого листа писать )

Редактировалось 2 раз(а), последний 2017-07-26 15:51:56
карма: 0

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