Здравствуйте, в настоящее время я изучаю обработку видеоизображений на ПЛИС, и в частности встала задача устранения дисторсии.
Собрал проект, который пересчитывает координаты пикселя с учетом коррекции,и читает их из буфера, однако проект работает некорректно. Подскажите, в чем
может быть ошибка?
Принципиальная схема такая- получаем данные с сенсора (CCD_Capture), преобразуем в формат ргб (RAW2RGB), сохраняем в память sdram (Sdram_Control), читаем данные из sdram (Data_Fetch), записываем полученные данные в буфер (vga_buff_my IP компонент RAM:2port),
забираем координаты данных из модуля Data_Fetch и пересчитываем их с учетом коррекции (Transform), пересчитанные координаты используются в качестве
rdaddress в буфере (vga_buff_my). На выход по SW[5] подаем сигнал с камеры (после Data_Fetch)
и сигнал из буфера(vga_buff_my).
Из буфера забираю ратсянутые на весь экран несколько пикслей.
Логично предположить что ошибка в пересчете координат, но я грешу на адреса в буфере(vga_buff_my); даже если оставить входы rdaddress и wraddress пустыми,
все равно происходит чтение из буфера, причем последовательное, это мне непонятно. Может кто-нибудь прояснить мрмент с адресацией RAM:2port ?
P.S. Нашел решение по устранению эффекта "рыбий глаз" у китайского коллеги, также прилагаю.
Проект
Второй проект