Emgu CV and the official Microsoft Kinect SDK? - emgucv

Emgu CV currently allows the use of the Kinect with the OpenNI drivers.
I've also seen that there exists an mssdk-openni bridge application to allow the Kinects running on the official Microsoft SDK to emulate OpenNI driven Kinects.
Has anyone been successful in getting a Kinect running on the Microsoft SDK to work with Emgu CV, either with the mssdk-openni bridge or directly?
Are there any tips on getting it running smoothly, or pitfalls to avoid?

Yeah. I've simply installed the SDK and could capture and extract bitmaps of the video stream. The MSSDK for Kinect works just fine and easy. You can start by reading the Samples specially the Skeleton Sample and KinectColorViewer, KinectDepthViewer and KinectDiagnosticViewer wpf samples provided by Microsoft. You can add Emgu CV dlls and use them both together to gain your goal.
Good Luck

Related

Can not show webcam from openCV on Hololens

I'm the beginner of programming and openCV. I have to build my own library based on OpenCV and use it on Hololens.
I have a very short time to work on it. So I have started with many samples from many websites.
I can build the library and use it in Unity from the sample but I cannot show it on hololens
Now, I'm trying to show webcam like this sample on the hololens. https://youtube.com/watch?v=vUviuj8KcQM&t=781s
It showed on unity but It didn't show on hololens. Just the cube showed on the hololens.
I think I have to write the script to show this webcam texture from openCV on Hololens but I have no idea. It's very complicated for me.
I would like to ask how to show this webcam texture from openCV on Hololens?
I would like to ask your suggestion where should I start to learn OpenCV, C++, C# and Unity + hololens in short time.
Sorry for my poor English and programming.

openCV NDK (/javaCV) vs FastCV Vs android Vision for face processing

I am trying to process faces in images on a device/tablet. I have used opencv (NDK) a while ago. I see that there are couple of other options available to process faces. Just wondering how opencv, android-vision api and FastCV would compare specifically for processing faces;
Found couple of similar posts here but they did not answer all my questions.
Android API face detection vs. OpenCV/JavaCV face detection
Android Computer Vision JavaCv OpenCV Fastv comparison
My questions:
1) How does android face api (face detection and landmark extraction) compare to opencv (javaCV or opencv NDK) (accuracy Vs speed)
2) Is FastCV better for this? I presume it comes with license restrictions.
3) Does the android api work for all android devices?
I found couple of ports for open-source CV libraries (other than opencv) that are commonly used for pc based CV applications but these are not optimized for the devices, I found them very slow when used as is.
thanks!

Can we do the Microsoft Kinect face tracking with two webcams instead of kinect 3d sensor?

I'm trying to do a face tracking project, so I came to see the microsoft kinect face tracking ,but I don't have a kinect camera,Is it possible to use two webcameras instead of kinect camera.
As Bart mentions, the Kinect SDK doesn't have support for two webcams, it's aimed at the Kinect sensor itself only.
You use OpenCV for stereo calibration but it might worth looking at what you can do with a single camera too. I recommend having a look at Jason Saragih's Face Tracker and Kyle McDonald's ofxFaceTracker addon examples.

Asift and openCV?

Does opencv allows to use ASIFT ?
http://www.ipol.im/pub/algo/my_affine_sift/
The creator published the c++ so I believe it wouldn't be so hard to implement it into opencv
What do you mean by
Does opencv allows to use ASIFT ?
At this moment, ASIFT is not available in OpenCV directly, but it should be a no-brainer to connect the code provided by the ASIFT authors to OpenCV. Probably all you'll have to do is to convert the OpenCV cv::Mat to some specific image format, by accessing Mat::data pointer.
If you are worried about licensing terms, you should contact the ASIFT authors. OpenCV is free to use/modify/redistribute/sell, under a BSD licence. And it seems that it is the same for ASIFT.
And if you are talking about integrating the code into OpenCV, and sending a patch to the dev guys, there is a guide on how to do it here http://code.opencv.org/projects/opencv/wiki/CodeSubmissions and here http://code.opencv.org/projects/opencv/wiki/How_to_contribute and here http://code.opencv.org/projects/opencv/wiki/CodingStyleGuide . I (and many others) strongly encourage you to do it! It seems to be an important addition to OpenCV.
The 2022 update is that ASIFT is in OpenCV v3.4 and higher.
Examples for the latest stable (v4.6):
C++
Python

OpenCV + Webcam compatibility

For the people that have experience with OpenCV, are there any webcams that don't work with OpenCV.
I am looking into the feasibility of a project and I know I am going to need a high quality feed (1080p), so I am going to need a webcam that is capable of that. So does OpenCV have problems with certain cameras?
To be analysing a video feed of that resolution on the fly I am going to need a fast processor, I know this, but will I need a machine that is not consumer available...ie, will an i7 do?
Thanks.
On Linux, if it's supported by v4l2, it is probably going to work (e.g., my home webcam isn't listed, but it's v4l2 compatible and works out of the box). You can always use the camera manufacturer's driver to acquire frames, and feed them to your OpenCV code. You can even sub-class the VideoCapture class, and implement your camera driver to make it work seamlessly with OpenCV.
I would think the latest i7 series should work just fine. You may want to also check out Intel's IPP library for more optimized routines. IPP also easily integrates into OpenCV code since OpenCV was an Intel project at its inception.
If you need really fast image processing, you might want to consider adding a high performance GPU to the box, so that you have that option available to you.
Unfortunately, the page that I'm about to reference doesn't exist anymore. OpenCV evolved a lot since I first wrote this answer in 2011 and it's difficult for them to keep track of which cameras in the market are supported by OpenCV.
Anyway, here is the old list of supported cameras organized by Operating System (this list was available until the beginning of 2013).
It depends if your camera is supported by OpenCV, mainly by the driver model that your camera is using.
Quote from Getting Started with OpenCV capturing,
Currently two camera interfaces can be used on Windows: Video for Windows (VFW) and Matrox Imaging Library (MIL) and two on Linux: Video for Linux(V4L) and IEEE1394. For the latter there exists two implemented interfaces (CvCaptureCAM_DC1394_CPP and CvCapture_DC1394V2).
So if your camera is VFW or MIL compliant under Windows or suits into standard V4L or IEEE1394 driver model, then probably it will work.
But if not, like mevatron says, you can even sub-class the VideoCapture class, and implement your camera driver to make it work seamlessly with OpenCV.

Resources