Ask Your Question

Humam Helfawi's profile - activity

2020-06-14 03:28:30 -0500 asked a question Comparing F matrix and E Matrix

Comparing F matrix and E Matrix I am doing the following: cv::Mat E = cv::findEssentialMat(points1, points2, camera_mat

2020-06-04 06:54:00 -0500 asked a question Composing multiple Fundamental/Essential matrices

Composing multiple Fundamental/Essential matrices I have computed the fundamental matrices between Frame [a,b], [b,c] an

2020-06-04 04:22:35 -0500 asked a question Fundamental matrix for tiny movements

Fundamental matrix for tiny movements I want to estimate the rotation between two consequences frames of an calibrated c

2020-04-04 04:40:51 -0500 asked a question Stable Translation from essential decomposition

Stable Translation from essential decomposition When implementing monocular SLAM or Structure from Motion using single c

2019-10-04 06:35:32 -0500 asked a question OpenCV parallel_for_ splits ranges for single item

OpenCV parallel_for_ splits ranges for single item I am running this tutorial example: int mandelbrot(const std::comple

2019-09-30 04:09:41 -0500 received badge  Popular Question (source)
2019-07-13 07:26:27 -0500 received badge  Notable Question (source)
2018-06-28 15:15:13 -0500 received badge  Popular Question (source)
2017-12-08 14:29:58 -0500 commented question Build OpenCV with specific version of flann

Thanks for reply. Yes that what happened to me. I end up building OpenCV without FLANN since I think that I am not using

2017-12-08 14:28:12 -0500 commented question Different point clouds when using cv::stereoRectify

Thanks guys, I will edit the post to clarify it more. However, I did not use any depth algorithm. I just picked up some

2017-12-07 19:17:33 -0500 asked a question Different point clouds when using cv::stereoRectify

Different point clouds when using cv::stereoRectify I have an well-calibrated stereo camera. I did an experiment where i

2017-12-07 19:04:38 -0500 asked a question does recoverPose() return up-to-scale or correct translation?

does recoverPose() return up-to-scale or correct translation? The function recoverPose() returns the rotation and transl

2017-12-06 14:35:36 -0500 asked a question Build OpenCV with specific version of flann

Build OpenCV with specific version of flann Can I specify a specific .lib file of Flann while building OpenCV?

2017-12-06 12:52:53 -0500 marked best answer use of CALIB_RATIONAL_MODEL

When exactly should I use CALIB_RATIONAL_MODEL flag for camera calibration? How should I know that my lens has this kind of distortion?

2017-12-05 19:17:45 -0500 asked a question use of CALIB_RATIONAL_MODEL

use of CALIB_RATIONAL_MODEL When exactly should I use CALIB_RATIONAL_MODEL flag for camera calibration? How should I kno

2017-11-23 09:40:14 -0500 commented question Multi camera calibration with chess board

@berak. Thanks. Actually, no. This example does not fuse the data together and perform a global optimization. It just ca

2017-11-22 17:39:54 -0500 asked a question Multi camera calibration with chess board

Multi camera calibration with chess board Is it possible to use multi camera calibration module (cv::multicalib) with ch

2017-11-22 17:39:46 -0500 asked a question Multi camera calibration with chess board

Multi camera calibration with chess board Is it possible to use multi camera calibration module (cv::multicalib) with ch

2017-11-22 17:39:25 -0500 asked a question Multi camera calibration with chess board

Multi camera calibration with chess board is it possible to use multi camera calibration module with chess board instead

2017-11-22 17:39:21 -0500 asked a question Multi camera calibration with chess board

Multi camera calibration with chess board is it possible to use multi camera calibration module with chess board instead

2017-11-22 17:39:19 -0500 asked a question Multi camera calibration with chess board

Multi camera calibration with chess board is it possible to use multi camera calibration module with chess board instead

2017-11-22 17:38:53 -0500 asked a question Multi camera calibration with chess board

Multi camera calibration with chess board is it possible to use multi camera calibration module with chess board instead

2017-11-22 17:38:50 -0500 asked a question Multi camera calibration with chess board

Multi camera calibration with chess board is it possible to use multi camera calibration module with chess board instead

2017-11-01 11:59:20 -0500 asked a question Th results of decomposeHomographyMat meaning

Th results of decomposeHomographyMat meaning I have single calibrated RGB camera that is moving around a static object.

2017-07-09 17:17:12 -0500 commented answer calibrate stereo system without calling cv::stereoCalibrate

Thank you very much for the answer. As I have understand the final C_T_P matrix contains the rotation matrix and translation vector. Is it correct? because I applied your answer but did not get correct results and I want to make sure that I understand correctly. (Most probably my implementation has some bugs but I want to make sure that I understand correctly first).

2017-07-08 19:32:48 -0500 commented question invalid option, /FIC

@LBreger, Bulding without precompiled headers solved the problem. However, I could not mange to do it without this option. thank you very much

2017-07-08 19:30:13 -0500 asked a question calibrate stereo system without calling cv::stereoCalibrate

I saw a program to calibrate a stereo system (Camera-projector pair). The output of the program is :

  1. camera intrinsic matrix
  2. camera distortion coefficients
  3. camera extrinsic vectors (Obtained by rvecs and tvecs of cv::calibrateCamera)
  4. projector intrinsic matrix
  5. projector distortion coefficients
  6. projector extrinsic vectors (Obtained by rvecs and tvecs of cv::calibrateCamera)

I digged into the code and there was no calling for cv::stereoCalibrate. However, the program uses those 6 outputs to scan 3D objects successfully (the source of the scanning is closed, I have just the calibration part).

How is this possible? How can I achieve rotation matrix and translation vector in order to get the essential matrix from rvecs and tvecs ? What I missing here?

2017-07-02 16:27:15 -0500 asked a question invalid option, /FIC

I am trying to build OpenCV 3.2 using Visual studio 2017 comminuty edition. I am building without CUDA and all other options are kept as default.

I am getting this error while bulding:

Severity    Code    Description Project File    Line    Suppression State
Error   RC1103  invalid option, /FIC:/opencv/modules/videostab/src/precomp.hpp  opencv_videostab    C:\opencv\_build\modules\videostab\RC   1

It is also happens in other modules.

BTW during Cmake stage I got this warnings:

CMake Deprecation Warning at CMakeLists.txt:81 (cmake_policy):
  The OLD behavior for policy CMP0020 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.


CMake Deprecation Warning at CMakeLists.txt:85 (cmake_policy):
  The OLD behavior for policy CMP0022 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.


CMake Deprecation Warning at CMakeLists.txt:94 (cmake_policy):
  The OLD behavior for policy CMP0026 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.
2017-02-28 07:44:15 -0500 commented question hierarchicalClustering with custom distance

@berak, yup I saw it and that what makes me ask here :D. Thank you for your time :)

2017-02-28 01:06:48 -0500 commented question hierarchicalClustering with custom distance

@berak yes. but my question about how the distance function should be declared

2017-02-27 07:57:07 -0500 asked a question hierarchicalClustering with custom distance

How can use cv::hierarchicalClustering with custom distance? how should the operator declaration should be?

for example if I have 2D dataset, I want something like this:

[](auto l, auto r){ 
    return l[0]*r[0]+l[1]r[1];
}

How can I prepare it to be passed to cv::hierarchicalClustering

2017-02-10 12:47:40 -0500 marked best answer How can I link with native OpenCV in Android studio

In Android Studio, how Can I link my android project (NDK) with OpenCV without linking any java modules. In other words, I want to use opencv from C++ code without exposing it to the java interface. How can I do this?

2017-02-08 00:33:46 -0500 commented question Reading 8-bit JPEG in OpenCV

Thank you very much. Yes you are totally right it a GIF not a JPEG and that is why I am getting problem.. Thanks again

2017-02-07 11:54:53 -0500 commented question Reading 8-bit JPEG in OpenCV

You should download it via the download button not saving it as image.. I have just tried to download it and I got JPEG file with 8 bit depth

2017-02-07 07:46:52 -0500 asked a question Reading 8-bit JPEG in OpenCV

I have 8-bit colorful JPEG image that Windows Image Viewer can show it correctly. I tried to read it from OpenCV but it failed (returns empty cv::Mat). This is the reading code:

auto img= cv::imread("c:/1.jpg"); // I tried also with cv::IMREAD_ANYDEPTH
//img.empty() == true
cv::imshow("img", img);
cv::waitKey();

JPEG file properties:

enter image description here

What did I miss?

Edit (Build Info):

General configuration for OpenCV 3.1.0 =====================================
  Version control:               1.4.79-1573-gc6780c3-dirty

  Platform:
    Host:                        Windows 10.0.10586 AMD64
    CMake:                       3.4.2
    CMake generator:             Visual Studio 12 2013 Win64
    CMake build tool:            C:/Program Files (x86)/MSBuild/12.0/bin/MSBuild.exe
    MSVC:                        1800

  C/C++:
    Built as dynamic libs?:      NO
    C++ Compiler:                C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/x86_amd64/cl.exe  (ver 18.0.40629.0)
    C++ flags (Release):         /DWIN32 /D_WINDOWS /W4 /GR /EHa  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi  /wd4251 /wd4324 /wd4275 /wd4589 /MP8  /MD /O2 /Ob2 /D NDEBUG  /Zi
    C++ flags (Debug):           /DWIN32 /D_WINDOWS /W4 /GR /EHa  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi  /wd4251 /wd4324 /wd4275 /wd4589 /MP8  /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1
    C Compiler:                  C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/x86_amd64/cl.exe
    C flags (Release):           /DWIN32 /D_WINDOWS /W3  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi    /MP8  /MD /O2 /Ob2 /D NDEBUG  /Zi
    C flags (Debug):             /DWIN32 /D_WINDOWS /W3  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi    /MP8  /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1
    Linker flags (Release):      /machine:x64  /INCREMENTAL:NO  /debug
    Linker flags (Debug):        /machine:x64  /debug /INCREMENTAL
    Precompiled headers:         YES
    Extra dependencies:          comctl32 gdi32 ole32 setupapi ws2_32 ZLIB::zlib JPEG::jpeg PNG::png vfw32
    3rdparty dependencies:       libwebp libjasper IlmImf libprotobuf ippicv

  OpenCV modules:
    To be built:                 core flann imgproc ml photo reg surface_matching video dnn fuzzy imgcodecs shape videoio highgui objdetect plot superres xobjdetect xphoto bgsegm bioinspired dpm face features2d line_descriptor saliency text calib3d ccalib datasets rgbd stereo structured_light tracking videostab xfeatures2d ximgproc aruco optflow stitching
    Disabled:                    java world contrib_world
    Disabled by dependency:      -
    Unavailable:                 cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev python2 python3 ts viz cvv hdf matlab sfm

  Windows RT support:            NO

  GUI:
    QT:                          NO
    Win32 UI:                    YES
    OpenGL support:              NO
    VTK support:                 NO

  Media I/O:
    ZLib:                        ZLIB::zlib (ver 1.2.8)
    JPEG:                        JPEG::jpeg (ver 90)
    WEBP:                        build (ver 0.3.1)
    PNG:                         PNG::png (ver ..)
    TIFF:                        NO
    JPEG 2000:                   build (ver 1.900.1)
    OpenEXR:                     build (ver 1.7.1)
    GDAL:                        NO

  Video I/O:
    Video for Windows:           YES
    DC1394 1.x:                  NO
    DC1394 2.x:                  NO
    FFMPEG:                      NO
      codec:                     NO
      format:                    NO
      util:                      NO
      swscale:                   NO
      resample:                  NO
      gentoo-style:              NO
    GStreamer:                   NO
    OpenNI:                      NO
    OpenNI PrimeSensor Modules:  NO
    OpenNI2:                     NO
    PvAPI:                       NO
    GigEVisionSDK:               NO
    DirectShow:                  YES
    Media Foundation:            NO
    XIMEA:                       NO
    Intel PerC:                  NO

  Parallel framework:            Concurrency

  Other third-party libraries:
    Use IPP:                     9.0.1 [9.0.1]
         at:                     D:/hunter/_Base/xxxxxxx/1fbd0c5/1378dcd/Build/OpenCV ...
(more)
2016-12-28 01:13:55 -0500 commented answer OpenCL can not detect my nVidia GPU via OpenCV

@Papan: add this to environment variables OPENCV_OPENCL_DEVICE=NVIDIA:GPU:

2016-12-27 01:44:11 -0500 marked best answer OpenCL can not detect my nVidia GPU via OpenCV

I have two GPUs : Intel HD and nVidia Quadro. Using GPU Caps Viewer, I can detect my both GPUs in the OpenCL tab. However, by executing this code I am only getting the Intel one:

cv::ocl::setUseOpenCL(true);
if (!cv::ocl::haveOpenCL()) {
    std::cout << "OpenCL is not available..." << std::endl;
}
cv::ocl::Context context;
if (!context.create(cv::ocl::Device::TYPE_ALL)) {
    std::cout << "Failed creating the context..." << std::endl;
}
std::cout << context.ndevices() << " GPU devices are detected." << std::endl; 
for (int i = 0; i < context.ndevices(); i++) {
    cv::ocl::Device device = context.device(i);
    std::cout << "name:              " << device.name() << std::endl;
    std::cout << "available:         " << device.available() << std::endl;
    std::cout << "imageSupport:      " << device.imageSupport() << std::endl;
    std::cout << "OpenCL_C_Version:  " << device.OpenCL_C_Version() << std::endl;
    std::cout << std::endl;
}

Results:

1 GPU devices are detected.
name:              Intel(R) HD Graphics P530
available:         1
imageSupport:      1
OpenCL_C_Version:  OpenCL C 2.0

Information:

  1. Windows 10
  2. OpenCV 3.1
  3. Visual studio 2013
  4. nVidia Quadro M4000M

Notes:

  1. I am able to call my nVidia GPU directly using the OpenCV Cuda Interface
  2. I have just installed the latest driver from nVidia website.
2016-12-10 12:11:33 -0500 commented question access violation in copyTo

Thanks for reply.. I tired sth similar..I create a matheader and allocate the memory then tried to use copyto.. till now no crash but I can no be positive since sometimes it took 1 hour till crashing.. anyway.. there is no much thing to show.. a simple clone method is causing the problem.. it is the first statement after reading from ipcamera and it work for long time before crashing... :/

2016-12-10 10:57:12 -0500 asked a question access violation in copyTo

I am reading an image from IPCamera (using VLC API). I store this image in cv::Mat called ipCameraImage. Then I am doing deep-copy for this Mat into another Mat using:

auto frame=ipCameraImage.clone();

Everything seems fine. However, after around 1 hour of successful streaming, I got error access violation in the cloning process exactly inside copyTo function.. at the line:

memcpy( dptr, sptr, len );

It says that dptr point to NULL !

I am sure that ipCameraImageis not empty and it is contains valid image (I debug it and show it using ImageWatch tool with VS.NET).

It seems like a bug for me.. is it? Any suggestion?

2016-12-07 01:10:18 -0500 commented question Can not find Java folder in OpenCV build

@berak.. it failed when compiling :/ I thought that it was solved when cmake operation succeeded. I have edited with the cmake output. many thanks

2016-12-07 01:09:04 -0500 edited question Can not find Java folder in OpenCV build

I have built OpenCV for android on Windows using CMAKE, MINGW and NVIDIA Android NDK. After I make it and make install it, I found the following folders:

install:
 -apk:
 -sdk:
   --etc
   --native

there is no java folder inside the sdk folder. libopencv_java3.so is also mssing. What did I miss?

EDIT (CMake output):

Detected version of GNU GCC: 49 (409)
FP16: Compiler support is available
Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE) 
To enable PlantUML support, set PLANTUML_JAR environment variable or pass -DPLANTUML_JAR=<filepath> option to cmake
Could NOT find PythonInterp: Found unsuitable version "2.7.13", but required is at least "3.4" (found C:/Python27/python.exe)
Could NOT find PythonInterp: Found unsuitable version "2.7.13", but required is at least "3.2" (found C:/Python27/python.exe)
Found apache ant 1.8.2: C:/NVPACK/apache-ant-1.8.2/bin/ant.bat
Assume that non-module dependency is available: z (for module opencv_core)
[OpenCV for Android SDK]: A new OpenGL Camera Bridge (CameraGLSurfaceView, CameraGLRendererBase, CameraRenderer, Camera2Renderer) is disabled, because ANDROID_SDK_TARGET (15) < 21
Sample example-tutorial-4-opencl is disabled, because ANDROID_OPENCL_SDK is not specified

General configuration for OpenCV 3.1.0-dev =====================================
  Version control:               3.1.0-1661-gacaa1e1

  Platform:
    Timestamp:                   2016-12-06T13:36:05Z
    Host:                        Windows 10.0.10586 AMD64
    Target:                      Android 1 armv7-a
    CMake:                       3.4.2
    CMake generator:             Unix Makefiles
    CMake build tool:            C:/PROGRA~2/GnuWin32/bin/make.exe
    Configuration:               Release

  C/C++:
    Built as dynamic libs?:      NO
    C++ Compiler:                C:/NVPACK/android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-g++.exe  (ver 4.9)
    C++ flags (Release):         -fexceptions -frtti -fpic -Wno-psabi --sysroot=C:/NVPACK/android-ndk-r12b/platforms/android-9/arch-arm -funwind-tables -finline-limit=64 -fsigned-char -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fdata-sections -ffunction-sections -Wa,--noexecstack    -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -fomit-frame-pointer -mfp16-format=ieee -mfpu=neon -fvisibility=hidden -fvisibility-inlines-hidden -mfpu=neon-fp16 -mthumb -fomit-frame-pointer -fno-strict-aliasing -O3 -DNDEBUG  -DNDEBUG
    C++ flags (Debug):           -fexceptions -frtti -fpic -Wno-psabi --sysroot=C:/NVPACK/android-ndk-r12b/platforms/android-9/arch-arm -funwind-tables -finline-limit=64 -fsigned-char -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fdata-sections -ffunction-sections -Wa,--noexecstack    -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -fomit-frame-pointer -mfp16-format=ieee -mfpu=neon -fvisibility=hidden -fvisibility-inlines-hidden -mfpu=neon-fp16 -marm -fno-omit-frame-pointer -fno-strict-aliasing -O0 -g -DDEBUG -D_DEBUG  -O0 -DDEBUG -D_DEBUG
    C Compiler:                  C:/NVPACK/android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-gcc.exe
    C flags (Release):           -fexceptions -fpic -Wno-psabi --sysroot=C:/NVPACK/android-ndk-r12b/platforms/android-9/arch-arm -funwind-tables -finline-limit=64 -fsigned-char -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fdata-sections -ffunction-sections -Wa,--noexecstack    -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -Wno-comment -fdiagnostics-show-option -fomit-frame-pointer -mfp16-format=ieee -mfpu=neon -fvisibility=hidden -mfpu=neon-fp16 -mthumb -fomit-frame-pointer -fno-strict-aliasing -O3 -DNDEBUG  -DNDEBUG
    C flags (Debug):             -fexceptions -fpic -Wno-psabi --sysroot=C:/NVPACK/android-ndk-r12b/platforms/android-9/arch-arm -funwind-tables -finline-limit=64 -fsigned-char -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fdata-sections ...
(more)