用qt写一段代码 来接收openmv发来的一帧RGB565的数据,显示异常,请各位帮忙看看
-
/* *************************************************** qt 接收部分代码 : *****************************************************/ // 串口接收数据 readbuf = readbuf.append(serialport->readAll()); if( readbuf.length() >= 153600 ){ qDebug()<< readbuf.length(); QImage img = QImage(320,240,QImage::Format_RGB16); qDebug()<< img; for (int i = 0; i < 240; ++i) { for (int j = 0; j < 320; ++j) { uint16_t pixel = ((uint16_t)readbuf[j*2+i*320*2]<<8) | ((uint16_t)readbuf[j*2+1+i*320*2]); uint8_t r = (pixel>>11) & 0x1f; uint8_t g = (pixel>>5) & 0x3f; uint8_t b = pixel & 0x1f; img.setPixel(QPoint(j,i),qRgb(r,g,b)); } } // 将数据发送到label标签显示 ui->displayLabel->setPixmap(QPixmap::fromImage(img));
-
我没看出什么问题,你可以考虑发送jpeg啊。
-
@kidswong999 就是图片显示的不对 , 不知道是不是代码接收部分有问题
-
@za31 你把数据保存起来,然后人工看有没有问题。