如何在OpenCV中捕获具有四个通道(RGB-IR)的视频?

2024-04-29 16:34:34 发布

您现在位置:Python中文网/ 问答频道 /正文

有人知道如何在公开简历中使用四种渠道吗。我有一个rgb红外相机从e con系统(见3cam_CU40)和我试图写代码如下,以通常的方式。它只是一个完整的黑色视频。我想这是因为opencv最初要求的是gbr。但我不知道该怎么办视频饲料有4个频道。在

import cv2
def main():

     windowName1 =" LIve video Feed"

     cv2.namedWindow(windowName1)

     cap=cv2.VideoCapture(1) 
     # cap.set(cv2.CAP_PROP_EXPOSURE,-1)
     cap.set(cv2.CAP_FFMPEG,True)
     cap.set(cv2.CAP_PROP_FPS,30)

     if cap.isOpened():
         ret,frame = cap.read()

     else:
         ret=False
     while ret:
         ret,frame =cap.read()
    #     r,g,b =cv2.split(frame)
    #     output = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)


         cv2.imshow(windowName1,frame)
         if cv2.waitKey(1) ==27:
             break

     #cv2.destroyWindow(windowName)
     cv2.destroyAllWindows()


     cap.release()

if __name__ == '__main__':
    main()

Tags: read视频ifmainrgbconcv2frame
1条回答
网友
1楼 · 发布于 2024-04-29 16:34:34

您需要添加下面的转换来分离RGB和IR。你还需要设置视频捕捉_对象.set(CV_CAP_PROP_CONVERT_RGB,false);打开视频节点后 获取原始的Y16图像opencv3.3及以上版本。在下面的opencv3.3verion Y16默认不支持。在


/*******************************************************************/

//转换为8位:
//将10位(1024)像素缩放为8位(255)(255/1024)=0.249023
convertScaleAbs(InputImage,bayer frame8,0.249023);

//填充缺失的G通道拜耳数据
convertergir2rggb(bayer frame8,bayer frame8,IRImage);

//实际的Bayer格式是BG,而Opencv使用的是BGR,而不是RGB,所以采用RG-Bayer格式
CVT颜色(BayerFrame8、BGRImage、COLOR_BayerRG2BGR);

namedWindow(“相机背景框”,窗口自动调整大小);
imshow(“摄像头背景框”,BGRImage);

namedWindow(“相机红外帧”,窗口自动调整大小);
imshow(“相机红外帧”,IRImage);

/**********************************************************************/

//转换后的实际数据格式BGIRR BGGR-IR替换为G
//红外数据作为单独的图像收集
布尔转换器RGB(Mat BAYERGIR,Mat&BayerRGGB,Mat&IRimage)
{
//用G数据替换IR像素后的结果图像
拜耳RGGB=拜尔吉尔克隆();

//红外数据将是拜耳图像大小的一半
IRimage=垫子(拜尔吉公司()高度/2,拜尔吉公司().宽度/2,CV_8UC1);

//复制IR数据并将IR数据替换为G
for(int Row=0;行<;拜尔吉罗;行+=2)
{
对于(int Col=0;Col<;拜尔吉尔科尔斯;Col+=2)
{
//将红外数据设置为绿色
拜耳RGGB.at(行+1,列)=拜尔吉尔(行,列+1);
//设置红外数据
红外图像(第/2行,第2列)=拜尔吉尔(行+1,列);
}
}

返回true;
}

/********************************************************************************/

相关问题 更多 >