2015-06-26 13 views
1

Мне нужно захватить аудиоданные с микрофона компьютера, обработать его, а затем построить в реальном времени. Обработка каждого кадра приведет к созданию массива 1-D, который я хочу отобразить в изображении, где каждое значение в массиве сопоставляется с цветом. Следующий аудиокадр обрабатывается аналогично, а затем отображается в следующей строке изображения и так далее. В Matlab можно достичь этого с помощью функции imagesc. Я также хочу, чтобы пользователь мог прокручивать вверх и вниз, чтобы увидеть текущие или предыдущие данные. Я считаю, что мне нужно будет буферизовать обработанные данные в файле или базе данных, а затем асинхронно обновлять график, как указано выше. Я пытаюсь достичь всего выше, используя C#.В реальном времени Добавить изображение

Мой вопрос: что является лучшим способом для создания изображения/сюжета? Я провел много исследований (Microsoft Chart, VTK, несколько статей кодекса), но не смог найти то, что я хочу.

Кроме того, какая была бы лучшая база данных для использования в таком случае?

ответ

0

Я не думаю, что есть компонент, который выполняет именно то, что вы описали. В большинстве фреймворков/пакетов все изображения визуализируются с помощью собственных системных вызовов (в конце концов), которые принимают шаги, буферы и т. Д., Управляя всеми HANDLE. Таким образом, либо вы создаете в следующий раз новый образ с новыми строками, либо просто рисуете его сами, укладывая предыдущее изображение в новое.

Прокрутка (окно AKA) не является тривиальной, но возможна снова с уже созданным изображением в памяти, которое фиксировано. Однако учтите, что изображения на основе GDI + (.NET Bitmap) являются ограниченными для размера более 9000 пикселей. Пожалуйста, подумайте об использовании альтернативных изображений, таких как IPP, AForge.

Я рекомендую вам рисовать ряды самостоятельно, потому что в вашей задаче повторная калибровка будет проблемой из-за размытия строк. Итак, в общем, вам может понадобиться сделать это самостоятельно.