Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.04.2017, 08:00
-=#PupaJr#=- -=#PupaJr#=- вне форума
Новичок
 
Регистрация: 17.08.2010
Сообщения: 74
Репутация: 518
По умолчанию Контраст (фокус) изображения фото

Доброго дня.
Задача - есть камера снимающая медленный объект - приближается.
Надо изменять увеличение и соответственно контраст(фокус), объектив имеет 2 двигателя... но это всё высший уровень...
Для начала - есть фото с камеры - надо понять контрастно изображение(в фокусе) или нет, типо в условных единицах или в %, возможно строить график общий по фото - если острый то контраст, если размыт горб то плохо-нет фокуса.
ScanLine_ом по пикселям идти и ловить разницу в яркости пикселей??? Чем больше разность у соседних точек тем контрастнее(ближе фокусу)?? Как быть если разные цвета рядом попадут...????
Ответить с цитированием
  #2  
Старый 11.04.2017, 11:23
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

См. в сторону OpenCV, там есть готовые методы для анализа изображения.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 11.04.2017, 13:37
-=#PupaJr#=- -=#PupaJr#=- вне форума
Новичок
 
Регистрация: 17.08.2010
Сообщения: 74
Репутация: 518
По умолчанию

Спасибо, но так-то мы на Delphi.... да ещё и на 6 версии.
Может есть скомпиленные СИшные DLL_ки к которым можно обращаться с "такими" вопросами??? работающие быстрее делфийной ScanLine???
Понимаю что есть под разные ОСи но под делфи?
Есть, вроде, нашёл, но к ней куча всего ещё должно быть скачано, Си библиотеки, кодеки... и всё в разных местах... нет одного 100% рабочего архива для установки за 1 раз....

Последний раз редактировалось -=#PupaJr#=-, 11.04.2017 в 14:09.
Ответить с цитированием
  #4  
Старый 11.04.2017, 16:50
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Возможно нужно от модели камеры плясать, есть опыт работы с авторегистраторами, а с ними в комплекте обычно идёт вендорское ПО, обладающее собственным API, умеющим и позволяющим многое, посмотрите у производителя, мож есть к изделию SDK и вдруг там управление программно фокусировкой ужо есть
Ответить с цитированием
  #5  
Старый 11.04.2017, 22:03
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Это смотрел?
https://github.com/Laex/Delphi-OpenCV

З.Ы. Потому я и не программирую больше на дельфи.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #6  
Старый 12.04.2017, 08:15
-=#PupaJr#=- -=#PupaJr#=- вне форума
Новичок
 
Регистрация: 17.08.2010
Сообщения: 74
Репутация: 518
По умолчанию

Alegun, Спасибо, но для начала взята простая камера и установлен моторизированный объектив... SDK нет - я думал над этим, на Ali есть такие камеры с SDK - много написано и стоит 5тр...
Но пока над теорией, думаю можно сделать..

OpenCV плохо работает - ка демка для делфи Х.... жаль..

Может ещё что?
Ответить с цитированием
  #7  
Старый 12.04.2017, 08:42
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Могу еще посоветовать для определения контрастности попробовать алгоритм быстрого преобразования Фурье, на выходе получишь спектр картинки (можно еще попробовать вейвлет-преобразование, но я им не пользовался, так что не знаю, что на выходе должно получиться и поможет ли оно), по нему уже составить качественную характеристику об изображении.
Реализаций БПФ на дельфи в интернете достаточно много.
Каждый пиксел картинки рассматривается как значение дискретной функции.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #8  
Старый 12.04.2017, 14:05
-=#PupaJr#=- -=#PupaJr#=- вне форума
Новичок
 
Регистрация: 17.08.2010
Сообщения: 74
Репутация: 518
По умолчанию

Спасибо за ответ, скорость всегда важна, но если будет 2-3 кадра в секунду при разрешении видео с веб камеры 3М пиксела то вполне пойдёт.
Боюсь БПФ здесь всю скорость завалит.
Если изображение в ФОКУСЕ объектива то оно будет КОНТРАСТНО - не размыто(не замылено и т.д.). Исключение сплошной фон - тут никакой фокус не поможет. .
Эффект BLUR какраз размывает изображение по типу ухода от фокуса камеры.
Во вложении проект что сделал сейчас. Вот на картинке результат работы с нормальной контрастностью и 3 плохих.
В правом углу внизу результат подсчёта - как критерий легко пойдёт.
Но как бы это сделать поизящнее и побыстрее - а не 640х480.... иначе явно притормаживает. Видимо из-за ScanLine.
Перевожу в оттенки серого и сравниваю соседние точки. Delphi6.
Изображения
Тип файла: jpg an_all_r.jpg (92.0 Кбайт, 10 просмотров)
Вложения
Тип файла: rar Test_focus_picture.rar (6.3 Кбайт, 16 просмотров)
Ответить с цитированием
  #9  
Старый 13.04.2017, 15:47
-=#PupaJr#=- -=#PupaJr#=- вне форума
Новичок
 
Регистрация: 17.08.2010
Сообщения: 74
Репутация: 518
По умолчанию

Проект немного допилил, упростил вычисления и переброс картинок. Работает с 8Мпикс камерой 2 кадра в секунду - достаточно.
Добавил детектор движения подключив камеру в проект... есть фризы но они явно из-за драйвера или винды... В принципе считаю что можно завершить. Приведённый код выше 100% рабочий(без exe). Пользуйтесь , допиливайте под себя.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:17.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter