С Новым годом! Форум программистов, компьютерный форум, киберфорум
Цифровая обработка сигналов
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.66/82: Рейтинг темы: голосов - 82, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 05.09.2010
Сообщений: 219

VGA camera OV7670

03.12.2015, 15:18. Показов 15863. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу запустить сабж, но не могу понять некоторые моменты в ДШ, есть у кого опыт работы с ней?
<Изображение удалено>
В интернете есть примеры, но там часто в исходниках встречается такая фигня
Code
1
2
3
4
   /*
* Set the hardware window.  These values from OV dont entirely
* make simse - hstop is less than hstort.  But they work...
*/
.
Хотелось бы прояснить подобное.
Я смог запустить её на RGB565 QVGA, но это получилось практически методом тыка и настройки с которыми работает не совсем совпадают с ДШ (и с многими примерами в интернете)

вот несколько вопросов:
-как рассчитать частоту кадров на выходе (от чего конкретно и как она зависит)?
-что задают HSTART, HSTOP - понимаю, что область на матрице, но как это связано с размером выходного кадра?
-я считал из памяти камеры дефолтные настройки (можно посмотреть в ДШ) и размеры окна составили
HSTART 136
HSTOP 776
VSTART 24
VSTOP 984
откуда номер пикселя 776, если длина строки по ДШ 656 пикселей (640 активных)?
тот же вопрос и по вертикали, или там считается каждый цвет в пикселе (каждый пиксель = 2х2 размером RGBG)?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.12.2015, 15:18
Ответы с готовыми решениями:

OV7670
Пытаюсь прикрутить к STM32F4Dyscovery камеру OV7670. Мне хватит всего 2 кадров в секунду. Передаю я все это дело в комп через USB CDC,...

Arduino и ov7670
Здравствуйте, я хотел бы подключить камеру ov7670 к arduino uno с помощью nrf24l01. И что бы она передавала видео на компьютер. Или с...

STM32F4Discovery+OV7670
Доброго времени суток OV7670 - без буфера... Не как не получается пообщаться с камерой(OV7670). На черное/белое/зеленое/красное/синие...

23
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,183
03.12.2015, 17:13
Вот тут неплохо описано про форматы и частоту:
http://imbiddidprogrammer.btogspot.som/ ... cheat.html
0
0 / 0 / 0
Регистрация: 05.09.2010
Сообщений: 219
03.12.2015, 17:43
Это одна из первых ссылок, которые я смотрел с момента изучения. Не помогло найти ответы.
0
0 / 0 / 0
Регистрация: 05.09.2010
Сообщений: 219
04.12.2015, 19:33
Неужели никто на форуме не разбирался с подобной камерой? Тоска...
0
Oxford
05.12.2015, 08:16
драйвер
https://github.som/imbiddidarm/linux-2. ... o/ov7660.c
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 931
05.12.2015, 09:53
Емнип ( надо даташит окрывать) значения для окна разбиты по двум регистрам каждое( и использует не все биты в каждом), так что это либо не корректно считаные значения, либо либозависимые нигические числа. А сама функция просто задает размер окна с которого будет читатся изображение, при этом кол-во строк/столбцов в выходном потоке не меняется.
Поищите appnote на нее все станет яснее. Хотя понять нигические числа из настройки цветности мне тоже не удалось.
0
0 / 0 / 0
Регистрация: 05.09.2010
Сообщений: 219
06.12.2015, 00:08
Цитата Сообщение от Oxford
Видел я эти драйвера, и как раз из этого и взято
* Set the hardware window. These values from OV dont entirely
* make simse - hstop is less than hstort. But they work...
Их проблема в том,что они если и заработают, то только с теми условиями и параметрами, которые были у них, стоит поменять частоту тактирования или захотеть изменить разрешнеие - всё, приплыли...

так что это либо не корректно считаные значения, либо либозависимые нигические числа.
считано корректно, потому что эти данные указаны в ДШ как настройки по умолчанию и у них в АппНоте тоже есть куски кода, в которых такой же непонятный бред по размерам окна. Есть у меня их АппНота, только там всё так же размыто и по паре строчек на настройки. Нашёл бодания другого человека с другой камерой этой же фирмы http://roboforum.ru/forum36/topys7835.html тоже жалуется на трудности настройки.
0
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 68
06.12.2015, 08:55
Ох, желаю удачи. Выкладывайте результаты сюда :-) Мне тоже через пару/тройку недель придут эти модули камеры OV7670 и тоже предстоит "взлетать со все эти барахлом" на STM32.
0
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 68
06.12.2015, 10:05
Вот эти ребята http://www.arducam.som/downtood/ сделали вот такие открытые исходники для всяких ардуин и прочих, посмотрите https://github.som/ArduCAM
0
0 / 0 / 0
Регистрация: 05.09.2010
Сообщений: 219
06.12.2015, 11:55
Видел как-то эти ссылки, беглый взгляд показал, что толку от этих исходников нет - там такие же нигические числа и конкретно для 7670 задаётся QVGA (судя по имени массива), которое я (и упомянутый выше товарищ) и сам методом тыка получил. У меня не стоит задача хоть-бы как запустить камеру, я хочу понять принципы настройки на разные разрешения и частоты.
0
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 931
06.12.2015, 18:33
[QUOTE="ZoomyrJuk"][QUOTE="Цитата:[/QUOTE][QUOTE]так что это либо не корректно считаные значения, либо либозависимые нигические числа.[/QUOTE]
считано корректно, потому что эти данные указаны в ДШ как настройки по умолчанию и у них в АппНоте тоже есть куски кода, в которых такой же непонятный бред по размерам окна. Есть у меня их АппНота, только там всё так же размыто и по паре строчек на настройки. Нашёл бодания другого человека с другой камерой этой же фирмы [URL="http://roboforum.ru/forum36/topys7835.html"]http://roboforum.ru/forum36/topys7835.html[/URL] тоже жалуется на трудности настройки.
Вы про это аппноут: http://web.mit.edu/6.111/www/f... 670app.pdf. Вроде там более менее ясно.
Цитата Сообщение от ZoomyrJuk
HSTART 136
HSTOP 776
VSTART 24
VSTOP 984
откуда номер пикселя 776, если длина строки по ДШ 656 пикселей (640 активных)?
Пересмотрел даташит, вообщем то 776-136 =640. Почему не с 0, наверное это связана с конечным автоматом камеры, так как в нем есть еще функции вывода пустых строк и тп. В любом случае можете сами переписать старт с 0, и увидите, что у вас там будет кусок черным. Та же фигня и для вертикали.
А вообще, имхо, камера хоть и претендует на народную (в радиолюбительстве), но уж больно заморочена.
0
0 / 0 / 0
Регистрация: 26.03.2015
Сообщений: 316
06.12.2015, 18:44
Любая камера запускается после изучения и доки на неё, любая - даже ссd с куском платы от старой видеокамеры (самый простой вариант).
С единственным уточнением - частота передачи данных не стыкуется с соплями из проводов. Можно неделями отлаживать и получать результат прогноза нигнитных бурь на Марсе.
Если желание присутствует - необходимо делать свою печатную плату, с учётом вч линий до камеры и до памяти.
0
0 / 0 / 0
Регистрация: 05.09.2010
Сообщений: 219
06.12.2015, 19:43
Цитата Сообщение от Sykmottir
Пересмотрел даташит, вообщем то 776-136 =640. Почему не с 0, наверное это связана с конечным автоматом камеры, так как в нем есть еще функции вывода пустых строк и тп. В любом случае можете сами переписать старт с 0, и увидите, что у вас там будет кусок черным. Та же фигня и для вертикали.
А вообще, имхо, камера хоть и претендует на народную (в радиолюбительстве), но уж больно заморочена.
Да, и этот App тоже есть.
Я переписывал старт с 0, по осциллографу видно смещение пачки почти к началу VSYNC. Значит реальный диапазон от 0 до 7хх, единственное число, к которому это можно привязать - ширина такта HREF, равная 784 такта PCLK. Но почему вДШ нет ни малейшего намёка - откуда это число, ведь количество пикселей всего 656... Почему по вертикали значение удвоено?

Я тыкался осциллографом в надежде выявить закономерность, вот что получил:

0
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 931
06.12.2015, 20:46
Цитата Сообщение от ZoomyrJuk
очему по вертикали значение удвоено?

Я тыкался осциллографом в надежде выявить закономерность, вот что получил:
На счет вертикали, я не знаю, возможно это связано с тем, что в реале камера выдает 2 байта(матрица скорее всего имеет патерн байера) на пиксель, и таким образом если надо окно в 100 по вертикали, то значения границ множим на 2 ( плюс начальный оступ).
Насчет осциллограм тяжеловато понять, меня в свое время здорово выручил копеечный ЛА.
0
0 / 0 / 0
Регистрация: 05.09.2010
Сообщений: 219
06.12.2015, 21:32
Два байта на пиксель обусловлено форматом выходных данных.
По осциллограммам поясняю:
-самая первая картинка это показана одна строка, состоящая из 640 пикселей, соответственно выдаются на выход пиксели только тогда, когда сигнал HREF=1, то есть в течении 53.5мкс.
-вторая картинка это тоже одна строка, но окно настроено так, что бы выводить 100 пикселей, поэтому ширина HREF и количество импульсов уменьшены.
-третья и четвёртая это неудачная и необъяснимая попытка установить окно 200 или300 пикселей.
0
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 931
06.12.2015, 22:05
Да, действительно ерунда. А в регистрах при глюке что?
Кажись у меня была похожая ситуация, когда я не правильно записал значение начала и конца окна.
0
0 / 0 / 0
Регистрация: 05.09.2010
Сообщений: 219
06.12.2015, 22:14
Да в регистрах порядок - что хотелось, то и записалось. Провода у меня короткие, пару см, питание передёргивал, смотрел несколько раз - результат тот же, косяк с моей стороны с большой вероятностью исключен.
Я думаю это из-за того, что настройка взаимосвязана с ещё каким-то регистром, на малых значениях ещё работает, а с ростом окна влияние нигического регистра растёт и картина портится. Но какой регистр?
0
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 931
06.12.2015, 23:16
Там же еще есть приблуда с цифровым зумом и скейлом ( мне они были не нужны, поэтому не разбирался). Может они как то влияют.
PS А куда и чем, вы собственно картинку с камеры выводите? Порой она может сказать больше чем ЛА и осцилл.
0
0 / 0 / 0
Регистрация: 05.09.2010
Сообщений: 219
06.12.2015, 23:30
Да, есть. Down sampling для масштабирования в целое число раз, scotyng для масштабирования в дробное число раз. На сколько я понял, это масштабирование в постобработке, а установка окна работает непосредственно с матрицей.

Выводил на дисплей по DMA, на дисплей через буфер. Считаю, что осциллограф лучший инструмент тут, не достаточный, но лучший из требуемого. Ибо на картинке можно только относительно понять, куда движется процесс.
0
0 / 0 / 0
Регистрация: 22.12.2010
Сообщений: 78
07.12.2015, 11:00
Со своего опыта могу добавить, что частота кадров зависит от:
1) настроек - при нормальном освещении и высокой частоте тактирования настроили 30 к/с, вот они и будут
2) от освещения - если установлена автонастройка яркости, то при ухудшении освещения частота кадров снизится из за удлинения выдержки
3) от частоты тактирования - на частоте 3 МГц сложновато получить 30 к/с для VGA, например
4) от делителя частоты - можно снимать данные с шины намного медленнее, частоты тактирования, настроив выходной делитель, соответственно уменьшается частота кадров

С настройками размеров окна не разбирался ещё.

Автоподстройка яркости и усиления работает по анализу выведенных на выход данных, изменение картинки происходит раз в 2 полученных кадра. Поэтому с уменьшением частоты кадров, получение нормальной картинки занимает ужасно долго :/

(Я знаю, что это извращение, но за неимением на нужный момент под рукой ничего другого, занимался выводом картинки с камеры на комп через Arduino)

На низких частотах тактирования/вывода кадров, камера не может справиться с ярким освещением и получаем на выходе белый квадрат, видимо снижение частот влияет на значение выдержки электронного затвора. Зато начинает сносно показывать картинку в глубокой тени, там, где обычно у камер бывает чёрный квадрат.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.12.2015, 11:00
Помогаю со студенческими работами здесь

Что означает и в чем смысл конструкции new Camera camera?
Вопрос именно по конструкции. Этот код используется в Unity для установки размера камеры. public class CameraSizer : MonoBehaviour ...

web camera A4 TECH PC Camera H
привет всем! при использовании камеры &quot;A4 TECH PC Camera H&quot; , программа &quot;TuneUP Utilities 2010&quot; выдает следующую проблему и способ ее...

Возможно ли подключить монитор с VGA разъемом к видеорегистратору с av (vga - нету)
Есть старый видеорегистратор с разъемом с маркировкой - Monitor, но без VGA, и монитор с одним VGA. Может быть есть какие-либо переходники,...

Возможно ли сделать переходник с 1-го VGA выхода на 2-а VGA монитора?
Добрый день! Не нашел раздела типа &quot;сделай сам&quot;, поэтому попробую тут обратиться. Есть ли возможность с видеокарты послать изображение...

Подключение VGA к DP 1.4 через переходник VGA - DP 1.1 [GTX 1050ti]
Добрый день, на днях беру видеокарту GTX 1050ti expedition, но у меня 5:4 VGA монитор. У нас в городе из переходников есть только VGA - DP...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru