Git Product home page Git Product logo

qtoiio's Introduction

QtOIIO - OIIO plugin for Qt

QtOIIO is a C++ plugin providing an OpenImageIO backend for image IO in Qt. It has been developed to visualize RAW images from DSLRs in Meshroom, as well as some intermediate files of the AliceVision framework stored in EXR format (i.e: depthmaps).

Continuous integration:

  • Windows: Build status

License

The project is released under MPLv2, see COPYING.md.

Get the project

Get the source code:

git clone --recursive git://github.com/alicevision/QtOIIO
cd QtOIIO

See INSTALL.md to build and install the project.

Usage

When added to the QT_PLUGIN_PATH, all supported image files will be loaded through this plugin.

This plugin also provides a QML Qt3D Entity to load depthmaps files stored in EXR format:

import DepthMapEntity 1.0

Scene3D {
  DepthMapEntity {
    source: "depthmap.exr"
  }
}

qtoiio's People

Contributors

fabiencastan avatar fcastan avatar gregoire-dl avatar servantftechnicolor avatar yann-lty avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qtoiio's Issues

Mutlichannel EXR

Hello,

I'm trying to implement ImageIO in a Qt app. I've found this repo but reading the source it seems to be tailored specifically for use in Meshroom (depthmap detection) and limited to 4 channels or else it fails.
Is there a simple way to extract multichannel exrs using QtOIIO as a start ?

Thanks

error occured after typing "nmake install" on windows, seems does not linked to some libs

While I was building QtOIIO following Install.md on win10,error occured after typing "nmake install",it seems does not linked to some lib files,but I have no idea which should be linked.Here are part of the log.The whole printed log is copied to the log.txt file.
Any suggestions will be appreciated!

E:\SoftInstall\QtOIIO\build>nmake install

Microsoft (R) Program Maintenance Utility Version 14.28.29913.0
Copyright (C) Microsoft Corporation. All rights reserved.

[ 11%] Automatic MOC for target QtOIIOPlugin
[ 11%] Built target QtOIIOPlugin_autogen
[ 22%] Building CXX object src/imageIOHandler/CMakeFiles/QtOIIOPlugin.dir/QtOIIOPlugin_autogen/mocs_compilation.cpp.obj
mocs_compilation.cpp
[ 33%] Building CXX object src/imageIOHandler/CMakeFiles/QtOIIOPlugin.dir/QtOIIOHandler.cpp.obj
QtOIIOHandler.cpp
[ 44%] Building CXX object src/imageIOHandler/CMakeFiles/QtOIIOPlugin.dir/QtOIIOPlugin.cpp.obj
QtOIIOPlugin.cpp
[ 55%] Linking CXX shared library QtOIIOPlugin.dll
LINK: command "E:\SoftInstall\VisualStdio2019\VC\Tools\MSVC\14.28.29910\bin\Hostx86\x86\link.exe /nologo @CMakeFiles\QtOIIOPlugin.dir\objects1.rsp /out:QtOIIOPlugin.dll /implib:QtOIIOPlugin.lib /pdb:E:\SoftInstall\QtOIIO\build\src\imageIOHandler\QtOIIOPlugin.pdb /dll /version:0.0 /machine:X86 /INCREMENTAL:NO E:\vcpkg\installed\x64-windows\lib\OpenImageIO.lib E:\vcpkg\installed\x64-windows\lib\Imath-2_5.lib E:\vcpkg\installed\x64-windows\lib\Iex-2_5.lib E:\vcpkg\installed\x64-windows\lib\Half-2_5.lib E:\vcpkg\installed\x64-windows\lib\IlmThread-2_5.lib E:\SoftInstall\QT\5.14.1\msvc2017_64\lib\Qt5Gui.lib E:\SoftInstall\QT\5.14.1\msvc2017_64\lib\Qt5Core.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:QtOIIOPlugin.dll.manifest" failed (exit code 1120) with the following output:
Creating library QtOIIOPlugin.lib and object QtOIIOPlugin.exp
mocs_compilation.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (_imp?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@xz) referenced in function "public: virtual struct QMetaObject const * __thiscall QtOIIOPlugin::metaObject(void)const " (?metaObject@QtOIIOPlugin@@UBEPBUQMetaObject@@xz)

mocs_compilation.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static struct QtSharedPointer::ExternalRefCountData * __cdecl QtSharedPointer::ExternalRefCountData::getAndRef(class QObject const *)" (_imp?getAndRef@ExternalRefCountData@QtSharedPointer@@SAPAU12@PBVQObject@@@z) referenced in function "private: __thiscall QWeakPointer::QWeakPointer<class QObject,1>(class QObject *,bool)" (??$?0VQObject@@$00@?$QWeakPointer@VQObject@@@@aae@PAVQObject@@_N@Z)

mocs_compilation.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QImageIOPlugin::qt_metacast(char const *)" (_imp?qt_metacast@QImageIOPlugin@@UAEPAXPBD@Z) referenced in function "public: virtual void * __thiscall QtOIIOPlugin::qt_metacast(char const *)" (?qt_metacast@QtOIIOPlugin@@UAEPAXPBD@Z)

mocs_compilation.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual int __thiscall QImageIOPlugin::qt_metacall(enum QMetaObject::Call,int,void * *)" (_imp?qt_metacall@QImageIOPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z) referenced in function "public: virtual int __thiscall QtOIIOPlugin::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@QtOIIOPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z)

log.txt

Errors occurred after typing "cmake .." and "make"

Errors occurred after typing "cmake .." and "make", and the bug report was in the following:
~/Software/QtOIIO/build$ make
[ 11%] Automatic MOC for target QtOIIOPlugin
[ 11%] Built target QtOIIOPlugin_autogen
[ 22%] Building CXX object src/imageIOHandler/CMakeFiles/QtOIIOPlugin.dir/QtOIIOHandler.cpp.o
/home/zeng/Software/QtOIIO/src/imageIOHandler/QtOIIOHandler.cpp: In member function ‘virtual bool QtOIIOHandler::read(QImage
)’:
/home/zeng/Software/QtOIIO/src/imageIOHandler/QtOIIOHandler.cpp:137:22: error: ‘Format_RGBA64’ is not a member of ‘QImage’
format = QImage::Format_RGBA64; // Qt documentation: The image is stored using a 64-bit halfword-ordered RGBA format (16-16-16-16). (added in Qt 5

^
/home/zeng/Software/QtOIIO/src/imageIOHandler/QtOIIOHandler.cpp:145:22: error: ‘Format_RGBX64’ is not a member of ‘QImage’
format = QImage::Format_RGBX64; // Qt documentation: The image is stored using a 64-bit halfword-ordered RGB(x) format (16-16-16-16). This is the

^
/home/zeng/Software/QtOIIO/src/imageIOHandler/QtOIIOHandler.cpp:160:26: error: ‘Format_Grayscale16’ is not a member of ‘QImage’
format = QImage::Format_Grayscale16; // Qt documentation: The image is stored using an 16-bit grayscale format. (added in Qt 5.13)

^
/home/zeng/Software/QtOIIO/src/imageIOHandler/QtOIIOHandler.cpp:176:18: error: ‘Format_RGBA64’ is not a member of ‘QImage’
case QImage::Format_RGBA64: formatStr = "Format_RGBA64"; break;

^
/home/zeng/Software/QtOIIO/src/imageIOHandler/QtOIIOHandler.cpp:178:18: error: ‘Format_RGBX64’ is not a member of ‘QImage’
case QImage::Format_RGBX64: formatStr = "Format_RGBX64"; break;

^
/home/zeng/Software/QtOIIO/src/imageIOHandler/QtOIIOHandler.cpp:180:18: error: ‘Format_Grayscale16’ is not a member of ‘QImage’
case QImage::Format_Grayscale16: formatStr = "Format_Grayscale16"; break;
^

/home/zeng/Software/QtOIIO/src/imageIOHandler/QtOIIOHandler.cpp:318:21: error: ‘QRgba64’ was not declared in this scope
QRgba64 color = QRgba64::fromRgba64(floatToUShort(rgba[0]), floatToUShort(rgba[1]), floatToUShort(rgba[2]), floatToUShort(rgba[3]));

^
/home/zeng/Software/QtOIIO/src/imageIOHandler/QtOIIOHandler.cpp:319:35: error: ‘color’ was not declared in this scope
p = (quint64)color;
^

src/imageIOHandler/CMakeFiles/QtOIIOPlugin.dir/build.make:75: recipe for target 'src/imageIOHandler/CMakeFiles/QtOIIOPlugin.dir/QtOIIOHandler.cpp.o' failed
make[2]: *** [src/imageIOHandler/CMakeFiles/QtOIIOPlugin.dir/QtOIIOHandler.cpp.o] Error 1
CMakeFiles/Makefile2:97: recipe for target 'src/imageIOHandler/CMakeFiles/QtOIIOPlugin.dir/all' failed
make[1]: *** [src/imageIOHandler/CMakeFiles/QtOIIOPlugin.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

Could you please give some suggestions?Thanks very much!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.