У меня есть плата fpga, и я пишу код VHDL, который может получать изображения (в двоичном формате) из последовательного порта и сохранять их в SDRAM на моей плате. затем FPGA отображает изображения на мониторе через кабель VGA. моя проблема заполняет SDRAM дольше (около 10 минут при скорости 115200 бод). на моем компьютере Я написал код на Python для отправки изображения (в двоичном формате) в FPGA через последовательный порт. мой код читает двоичный файл, который сохраняется на моем жестком диске и отправляет их в FPGA. мой вопрос в том, что если я использую буфер для сохранения моих образов в двоичном файле, получаю ли я лучший результат? если да, можете ли вы помочь мне, как это сделать, пожалуйста? если нет, можете ли вы предложить мне решение, пожалуйста? благодарит в advans,Чтение из буфера быстрее, чем чтение из файла в python
ответ
Если вы не сжимаете перед загрузкой и не распаковываете изображение после загрузки, проблема в том, что скорость передачи данных составляет 115 200 бод, а не скорость чтения из файла.
При стандартном кодировании линии N/8/1 для каждого байта требуется 10 бит для передачи, поэтому вы будете передавать 1150 байт в секунду.
Через 10 минут вы будете передавать 1150 * 60 * 10 = 6,912,000 байт. При 3 байтах на пиксель (для R, G и B) это составляет 2 304 600 пикселей, что является количеством пикселей в изображении 1920 на 1200.
Ответ заключается в (a) увеличении скорости передачи в бодах; и/или (b) сжимать изображение (используя что-то простое для распаковки на FPGA, например, RLE, если оно поддается такому сжатию).
спасибо, мои пиксели 8 бит. действительно ли имеет значение сделать буфер в python и переместить файл в буфер, а затем прочитать из буфера и отправить их? – user3397145
Я должен был попросить MCVE. Теперь ты заставляешь меня вытащить его из себя. Да, характер при обработке времени медленный, но ОК - какой размер изображения? Если это около 2M пикселей, то кажется, что вы должны ждать от эха от FPGA, чтобы быть медленным. –
- 1. чтение из MySQL быстрее или чтение из файла происходит быстрее?
- 2. Сделать быстрее чтение из файла
- 3. Чтение из буфера C
- 4. Чтение данных из буфера
- 5. ошибка Python чтение из экземпляра файлового буфера
- 6. Python: чтение данных из файла
- 7. Чтение из файла в Python
- 8. чтение буфера Аудиоданные из файла, дающего нули
- 9. Является ли чтение из базы данных быстрее, чем чтение из файла?
- 10. Размер буфера и чтение из файла
- 11. avro php - чтение из буфера
- 12. Чтение файла быстрее в C
- 13. Python: Чтение ввода из файла?
- 14. Python - чтение данных из файла
- 15. Python Чтение из файла .txt
- 16. Python 3.5.1 чтение из файла
- 17. Python чтение матрицы из файла
- 18. Чтение json-файла из python
- 19. Чтение записи из файла
- 20. NodeJS Чтение ASCII из буфера
- 21. Чтение Png изображение из буфера
- 22. Чтение байтов (символов) из буфера
- 23. C++ - Чтение данных из буфера
- 24. чтение из буфера/s - OpenGL
- 25. Чтение из дескриптора файла DATA
- 26. Чтение из файла в общем
- 27. Чтение из файла
- 28. чтение из файла построчно
- 29. Чтение переменной из файла
- 30. чтение объектов из файла
Ваш вопрос не имеет никакого смысла. Независимо от того, где вы сохраняете изображение, он все равно будет двоичным файлом. Вы, вероятно, на стороне FPGA, с кешированием данных правильно. – DrBwts
Я имею в виду, если я загружаю двоичный файл в буфер, а затем отправляю его, делает ли он какой-то прогресс? – user3397145
Ahh OK, обычно буферизация выполняется с обеих сторон. Если вы хотите переместить данные в SDRAM, я бы подумал, что буфер на стороне FPGA будет необходим. Что касается ПК, я думаю, что буферизация обрабатывается для вас. Взгляните на [этот пост для реализации последовательной связи с Python & Pyserial] (http://stackoverflow.com/questions/676172/full-examples-of-using-pyserial-package) – DrBwts