Search code examples
c#cameraemgucvindustrial

drive the industrial camera based on EmguCV


I can‘t solve this problem, it's killing my time. I can't drive the industrial camera by using EmguCV. I have already install its driver, and I can capture picture from this industrial camera by other application. Does EmguCV not support industrial camera which need especial driver?


Solution

  • You can try to use the CaptureType property that you can add to the Capture constructor (see documentation). This will allow you to create a Capture using a specific camera.

    You can find CaptureType under Emgu.CV.CvEnum.CaptureType. This is the equivalent to CV_CAP_ macros.

    In the documentation you can see that multiple types are supported, even from the GigEVisionSDK. However, I am unsure how well the supported is, especially for non-USB camera's.

    Moreover since you are using industrial camera's I would strongly recommend you to use the SDK your camera manufacturer included. My experience tells me these SDKs are usually not well documented, but due to the high throughput of these camera's you can often directly get the frame buffer from unmanaged memory. From here you can process your frames with EmguCV/OpenCV again.