Skip to content

Commit 7faf8cd

Browse files
committed
Aravis: support Bayer GR 8 raw format.
1 parent 03aa69d commit 7faf8cd

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

modules/videoio/src/cap_aravis.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,14 @@
7979
// video/x-raw, fourcc:'Y800' -> 8bit, 1 channel
8080
// video/x-raw, fourcc:'Y12 ' -> 12bit, 1 channel
8181
// video/x-raw, fourcc:'Y16 ' -> 16bit, 1 channel
82+
// video/x-raw, fourcc:'GRBG' -> 8bit, 1 channel
8283
//
8384

8485
#define MODE_GREY CV_FOURCC_MACRO('G','R','E','Y')
8586
#define MODE_Y800 CV_FOURCC_MACRO('Y','8','0','0')
8687
#define MODE_Y12 CV_FOURCC_MACRO('Y','1','2',' ')
8788
#define MODE_Y16 CV_FOURCC_MACRO('Y','1','6',' ')
89+
#define MODE_GRBG CV_FOURCC_MACRO('G','R','B','G')
8890

8991
#define CLIP(a,b,c) (cv::max(cv::min((a),(c)),(b)))
9092

@@ -315,6 +317,7 @@ IplImage* CvCaptureCAM_Aravis::retrieveFrame(int)
315317
int depth = 0, channels = 0;
316318
switch(pixelFormat) {
317319
case ARV_PIXEL_FORMAT_MONO_8:
320+
case ARV_PIXEL_FORMAT_BAYER_GR_8:
318321
depth = IPL_DEPTH_8U;
319322
channels = 1;
320323
break;
@@ -475,6 +478,8 @@ double CvCaptureCAM_Aravis::getProperty( int property_id ) const
475478
return MODE_Y12;
476479
case ARV_PIXEL_FORMAT_MONO_16:
477480
return MODE_Y16;
481+
case ARV_PIXEL_FORMAT_BAYER_GR_8:
482+
return MODE_GRBG;
478483
}
479484
}
480485
break;
@@ -547,6 +552,10 @@ bool CvCaptureCAM_Aravis::setProperty( int property_id, double value )
547552
newFormat = ARV_PIXEL_FORMAT_MONO_16;
548553
targetGrey = 32768;
549554
break;
555+
case MODE_GRBG:
556+
newFormat = ARV_PIXEL_FORMAT_BAYER_GR_8;
557+
targetGrey = 128;
558+
break;
550559
}
551560
if(newFormat != pixelFormat) {
552561
stopCapture();

0 commit comments

Comments
 (0)