0

I was trying to get 8 single shot frames from 5 x CU135M E-con cameras using OpenCV(4.5.5-dev).
Each ~20 seconds every camera take single shot (one cam by one so stream should not be overloaded).
I use powered USB-hub so all of them are connected to single USB 3.2 port in my computer.
My problem is that recived frames are sometimes (20-30% of them) over-saturated with pink or yellow.
Example of correctly recorded pic:

correct pic


Example of yellow over-saturated pic:

oversturated


Code for recording frames is quite simple -

cv::VideoCapture cap;
cap.open("SOME_CAMERA_ID", CAP_V4L2);
cap.set(CAP_PROP_FRAME_WIDTH, 4208);
cap.set(CAP_PROP_FRAME_HEIGHT, 3120);
Mat frame;
try{
    for(int i = 0; i < 4; i++) //need this so i dont recive pure green screen frames
        cap.read(frame);
    while(frame.empty()){
        if( cap.read(frame) )
            break;
    }
} catch (Exception e) {
    //some error handling
}

imwrite("someFileName.png", frame );
cap.release();

I was trying to set denoise and default setings using hidraw, hovewer without results.
I'd be glad for any help.

Tom Sevet
  • 25
  • 6

0 Answers0