Ask Your Question

Vaniax's profile - activity

2020-04-03 16:57:58 -0600 received badge  Famous Question (source)
2019-08-30 03:15:09 -0600 received badge  Popular Question (source)
2018-02-25 13:26:01 -0600 received badge  Notable Question (source)
2017-08-29 13:09:34 -0600 received badge  Popular Question (source)
2016-10-20 05:52:35 -0600 received badge  Nice Question (source)
2016-03-02 05:15:07 -0600 asked a question Extracting bpp without explicitly mapping value to data types

Hi,

I need to calculate the bits per pixel of a matrix and wonder if there is a decent method to extract the depth of an image in bits directly without explicitly mapping the types CV_8U,.... to the appropriate values (or using if-else constructs)?

2016-03-02 04:50:38 -0600 received badge  Scholar (source)
2016-02-26 01:06:19 -0600 received badge  Supporter (source)
2016-02-26 01:06:10 -0600 commented answer Pointer to cv::Mat and sizeof underlying structure

Thank you very much, that's exactly the solution I was looking for. But isn't the second cast (Mat) unnecessary? When dereferencing a Mat* I get the corresponding Mat object, right?

2016-02-26 01:06:10 -0600 received badge  Enthusiast
2016-02-24 09:27:07 -0600 asked a question Pointer to cv::Mat and sizeof underlying structure

Hi,

I have to use an interface which 'transmits' data between different execution units in a pipeline. The interface of the correspoding transmit function looks similar to this:

transmit(TimeStamp time, const void* data, int sizeOfData)

Now I want to transmit OpenCV matrices over this interface. In the first place I used an intermediate data structure like this:

typedef struct {
    int rows;
    int cols;
    int channels;
    unsigned int depth;
    unsigned char* data;
} CVMat;

Function call:

CVMat mat;
transmit(time, &mat, sizeof(CVMat));

On the other side I can reconstruct a new matrix with the transmitted data.

Now I wonder whether its possible to transmit OpenCV matrices directly. But I'm not sure how to deal with the concept of the seperation between data and header. Is it possible to get a void pointer to an OpenCV matrix and what is the correct way to determine the size of the underlying data structure? Is a reconstruction of the matrix possible (cast to cv::Mat)?

2016-01-04 05:12:45 -0600 received badge  Student (source)
2015-05-26 00:14:50 -0600 asked a question Not able to build OpenCV3-RC1 with 'Debug' build type

Hi,

I have problems to build OpenCV3-RC1 with the Debug build type activated. I was able to build a normal shared library version, but with debug mode I get the following:

error: 'sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA' was not declared in this scope

My compiler is 'mingw-w64 4.9.2 posix sjlj'.

Extract from the log:

    [  2%] [  9%] Built target zlib
Built target libjpeg
[ 18%] [ 23%] Built target libwebp
Built target libjasper
[ 23%] Built target opencv_ts_pch_dephelp
[ 26%] [ 32%] Built target libpng
[ 42%] Built target libtiff
Built target IlmImf
[ 42%] Built target pch_Generate_opencv_ts
[ 42%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/videoio/src/cap_dshow.cpp.obj
[ 42%] [ 43%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/features2d/src/dynamic.cpp.obj
Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/features2d/src/evaluation.cpp.obj
[ 43%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/features2d/src/fast.cpp.obj
[ 43%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/features2d/src/fast_score.cpp.obj
In file included from D:\Programmierung\Bibliotheken\OpenCV\3.0.0-rc1\opencv\sources\modules\videoio\src\cap_dshow.cpp:332:0:
D:\Programmierung\Bibliotheken\OpenCV\3.0.0-rc1\opencv\sources\modules\videoio\src\cap_dshow.cpp: In member function 'void videoInput::getMediaSubtypeAsString(GUID, char*)':
D:\Programmierung\Bibliotheken\OpenCV\3.0.0-rc1\opencv\sources\modules\videoio\src\cap_dshow.cpp:2178:41: error: 'sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA' was not declared in this scope
     if( type == MEDIASUBTYPE_RGB24)     sprintf(tmpStr, "RGB24");
                                         ^
D:\Programmierung\Bibliotheken\OpenCV\3.0.0-rc1\opencv\sources\modules\videoio\src\cap_dshow.cpp:2178:57: warning: left operand of comma operator has no effect [-Wunused-value]
     if( type == MEDIASUBTYPE_RGB24)     sprintf(tmpStr, "RGB24");
                                                         ^
D:\Programmierung\Bibliotheken\OpenCV\3.0.0-rc1\opencv\sources\modules\videoio\src\cap_dshow.cpp:2179:5: error: 'else' without a previous 'if'
     else if(type == MEDIASUBTYPE_RGB32) sprintf(tmpStr, "RGB32");
     ^
In file included from D:\Programmierung\Bibliotheken\OpenCV\3.0.0-rc1\opencv\sources\modules\videoio\src\cap_dshow.cpp:332:0:
D:\Programmierung\Bibliotheken\OpenCV\3.0.0-rc1\opencv\sources\modules\videoio\src\cap_dshow.cpp:2179:41: error: 'sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA' was not declared in this scope
     else if(type == MEDIASUBTYPE_RGB32) sprintf(tmpStr, "RGB32");
                                         ^
D:\Programmierung\Bibliotheken\OpenCV\3.0.0-rc1\opencv\sources\modules\videoio\src\cap_dshow.cpp:2179:57: warning: left operand of comma operator has no effect [-Wunused-value]
     else if(type == MEDIASUBTYPE_RGB32) sprintf(tmpStr, "RGB32");
                                                         ^
D:\Programmierung\Bibliotheken\OpenCV\3.0.0-rc1\opencv\sources\modules\videoio\src\cap_dshow.cpp:2180:5: error: 'else' without a previous 'if'
     else if(type == MEDIASUBTYPE_RGB555)sprintf(tmpStr, "RGB555");
     ^
In file included from D:\Programmierung\Bibliotheken\OpenCV\3.0.0-rc1\opencv\sources\modules\videoio\src\cap_dshow.cpp:332:0:
D:\Programmierung\Bibliotheken\OpenCV\3.0.0-rc1\opencv\sources\modules\videoio\src\cap_dshow.cpp:2180:41: error: 'sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA' was not declared in this scope
     else if(type == MEDIASUBTYPE_RGB555)sprintf(tmpStr, "RGB555");
                                         ^
D:\Programmierung\Bibliotheken\OpenCV\3.0.0-rc1\opencv\sources\modules\videoio\src\cap_dshow.cpp:2180:57: warning: left operand of comma operator has no effect [-Wunused-value]
     else if(type == MEDIASUBTYPE_RGB555)sprintf(tmpStr, "RGB555");
                                                         ^
D:\Programmierung\Bibliotheken\OpenCV\3.0.0-rc1 ...
(more)