diff --git a/imagescrollareagl.cpp b/imagescrollareagl.cpp index 787228d..59b2d8f 100644 --- a/imagescrollareagl.cpp +++ b/imagescrollareagl.cpp @@ -25,8 +25,9 @@ const RawImageType rawImageTypes[] = { {QOpenGLTexture::Red, QOpenGLTexture::R16_UNorm, QOpenGLTexture::UInt16, true}, {QOpenGLTexture::Red, QOpenGLTexture::R32F, QOpenGLTexture::Float32, true}, {QOpenGLTexture::RGB, QOpenGLTexture::RGB8_UNorm, QOpenGLTexture::UInt8, false}, - {QOpenGLTexture::BGRA,QOpenGLTexture::RGB8_UNorm, QOpenGLTexture::UInt8, false}, + {QOpenGLTexture::RGBA,QOpenGLTexture::RGB8_UNorm, QOpenGLTexture::UInt8, false}, {QOpenGLTexture::RGB, QOpenGLTexture::RGB16_UNorm, QOpenGLTexture::UInt16, false}, + {QOpenGLTexture::RGBA, QOpenGLTexture::RGB16_UNorm, QOpenGLTexture::UInt16, false}, {QOpenGLTexture::RGB, QOpenGLTexture::RGB32F, QOpenGLTexture::Float32, false} }; diff --git a/rawimage.cpp b/rawimage.cpp index 9d45051..1413835 100644 --- a/rawimage.cpp +++ b/rawimage.cpp @@ -16,6 +16,8 @@ RawImage::ImgType CV2Type(int cvtype) return RawImage::UINT8C4; case CV_16UC3: return RawImage::UINT16C3; + case CV_16UC4: + return RawImage::UINT16C4; case CV_32FC3: return RawImage::FLOAT32C3; default: @@ -39,6 +41,8 @@ int Type2CV(RawImage::ImgType type) return CV_8UC4; case RawImage::UINT16C3: return CV_16UC3; + case RawImage::UINT16C4: + return CV_16UC4; case RawImage::FLOAT32C3: return CV_32FC3; case RawImage::UNKNOWN: @@ -84,6 +88,27 @@ RawImage::RawImage(const QImage &img) m_img.create(img.height(), img.width(), CV_8UC4); for(int i=0; i(y, x); - rgb = QVector3D(v[2], v[1], v[0]); + rgb = QVector3D(v[0], v[1], v[2]); break; } case CV_8UC4: { cv::Vec4b v = m_img.at(y, x); - rgb = QVector3D(v[2], v[1], v[0]); + rgb = QVector3D(v[0], v[1], v[2]); break; } case CV_16UC3: { cv::Vec3w v = m_img.at(y, x); - rgb = QVector3D(v[2], v[1], v[0]); + rgb = QVector3D(v[0], v[1], v[2]); break; } case CV_32FC3: { cv::Vec3f v = m_img.at(y, x); - rgb = QVector3D(v[2], v[1], v[0]); + rgb = QVector3D(v[0], v[1], v[2]); break; } default: diff --git a/rawimage.h b/rawimage.h index 5ca37ec..aece193 100644 --- a/rawimage.h +++ b/rawimage.h @@ -57,6 +57,7 @@ public: UINT8C3, UINT8C4, UINT16C3, + UINT16C4, FLOAT32C3, UNKNOWN, };