crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Попиксельное заполнение буфера
loh
  опции профиля:
сообщение 21.12.2011, 16:37
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 60
Регистрация: 11.5.2008
Пользователь №: 171

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем привет!

Задача такая, у меня есть датчик, типа линейного сканера, от него приходят данные представляющие собой двух байтные числа которые после некоторой математической обработки связанной с операциями сложения умножения деления вычитается превращаются либо в цвет точки. соответственно один пакет этих чисел это одна колонка пикселей на экране. Каждая новая колонка приходит на место старой, а вся картинка смещается на один пиксел в сторону. Проблема в том что частота прихода этих пакетов высокая - например 200 пакетов в секунду,

Так вот! как организовать буфер для сохранения исходных значений с датчика, буфер с обработанными значениями для вывода на экран, как синхронизировать вывод с приёмом, что бы картинка смешалась плавно, без рывков? И как сделать быструю обработку исходных значений для преобразования их в цвет уже в офлайн режиме, когда данные берутся не с датчика, а с буфера исходных данных? :о
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
BlueIceScream
  опции профиля:
сообщение 28.12.2011, 21:22
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 56
Регистрация: 21.11.2011
Из: Республика Дагестан
Пользователь №: 3016

Спасибо сказали: 18 раз(а)




Репутация:   3  


Можете попробовать:

void glPixelZoom( GLfloat xfactor, GLfloat yfactor);
void glScaled( GLdouble x, GLdouble y, GLdouble z);

можете использовать также scaled от QImage:

создаете изображение передав указатель на буффер
QImage ( const uchar * data, int width, int height, Format format )

масштабируете
QImage scaled ( const QSize & size, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation ) const

переводите в формат GL
QImage QGLWidget::convertToGLFormat ( const QImage & img ) [static]

рисуете передавая вместо GLvoid * data QImage::uchar * bits ();
void glDrawPixels( GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * data);





Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- loh   Попиксельное заполнение буфера   21.12.2011, 16:37
- - ViGOur   Ну как я понимаю для это тебе нужно 3 потока и два...   24.12.2011, 10:32
- - loh   я так пробовал, там какая сложность была: чтобы вы...   24.12.2011, 12:34
- - ViGOur   Никаких циклов! Пришли данные для буфера №1, е...   24.12.2011, 13:22
- - loh   так я кажется пробовал тоже, и тогда это всё как-т...   24.12.2011, 17:12
- - ViGOur   А если у тебя поток данных вырастет ещё раз в 100,...   24.12.2011, 19:33
- - loh   ок, я так и делал, а мьютексы делать? а, да, и ещ...   24.12.2011, 21:13
- - ViGOur   Цитата(loh @ 24.12.2011, 22:13) ок, я так...   24.12.2011, 22:56
- - BlueIceScream   Для правильной реализации решения задачи производи...   24.12.2011, 23:04
- - loh   ну мне кажется qimage какое то лишнее звено которо...   24.12.2011, 23:42
- - BlueIceScream   QImage предоставляет аппаратно-независимый подход ...   25.12.2011, 1:52
|- - loh   Цитата(BlueIceScream @ 25.12.2011, 1:52) ...   26.12.2011, 16:11
|- - wiz29   Цитата(loh @ 26.12.2011, 17:11) Я сейчас ...   26.12.2011, 16:20
- - loh   блин как спросить то чтобы понятно было вот й qi...   26.12.2011, 22:03
- - BlueIceScream   Скорость работы функций QPainter напрямую зависит ...   26.12.2011, 22:31
- - loh   тоесть например QImage img; QGLPixelBuffer* pb = ...   26.12.2011, 23:30
- - BlueIceScream   Если вы используете QImage или QGLBuffer, то зачем...   27.12.2011, 0:38
- - loh   qpainter ом мне в опенгл разбираться долго чето н...   27.12.2011, 1:30
- - BlueIceScream   QPainter при выводе обязательно переводит QImage в...   27.12.2011, 2:33
- - loh   А можно qglwidget & qgraphicsscene объединить,...   27.12.2011, 6:48
- - wiz29   как я понял, тебе нужно выводить нечто в виде осци...   27.12.2011, 8:33
- - Sokoloff   Цитата(loh @ 21.12.2011, 17:37) Проблема ...   27.12.2011, 9:23
- - loh   У меня с тормозами даже кадров 5-6 в секунду было,...   27.12.2011, 10:24
|- - wiz29   Цитата(loh @ 27.12.2011, 11:24) Типа осци...   27.12.2011, 10:39
- - loh   Вооо класс! Я знал что должна быть какая то шт...   27.12.2011, 13:35
|- - wiz29   Цитата(loh @ 27.12.2011, 14:35) а как поп...   27.12.2011, 13:59
- - loh   А не знаешь, аппаратный скрол только в пиксмапе? В...   27.12.2011, 14:16
- - wiz29   qgraphicsitem может кешироваться подсистемой qgrap...   27.12.2011, 14:17
- - BlueIceScream   ЦитатаТипа осцилограммы нормально выводится, мне н...   27.12.2011, 18:19
|- - loh   Цитата(BlueIceScream @ 27.12.2011, 19:19)...   27.12.2011, 23:07
- - BlueIceScream   Такое использование буфера будет на мой взгляд быс...   28.12.2011, 1:21
- - loh   А как сделать зуммирование при рисовании картинки ...   28.12.2011, 14:14
- - BlueIceScream   Можете попробовать: void glPixelZoom( GLfloat x...   28.12.2011, 21:22
- - loh   Пока разбираюсь, полет нормальный, такой вопрос во...   29.12.2011, 10:47
- - BlueIceScream   Эта ветка по Qt. Если есть вопросы по работе функц...   29.12.2011, 16:09
|- - whatevillurks   Зачот получается вы даете не профессиональные сове...   29.12.2011, 16:13
- - BlueIceScream   Конечно же нет. Я не профессионал. Я вообще не про...   29.12.2011, 16:24
- - Abesh   У меня по теме есть вопрос: Проблема вот в чем, ес...   17.1.2012, 17:11


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


8 чел. читают эту тему (гостей: 8, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.11.2024, 11:42