alpha通道摄像头捕获opencv c ++

时间:2014-11-13 12:28:33

标签: c++ opencv webcam alpha channel

我在usb-port上阅读了一个logitech c200网络摄像头,这段代码用c ++编写,带有opencv:

Mat result;
IplImage* frame;
int hell=0;
int dunkel=0;
CvCapture* capture;
capture = 0;
capture = cvCaptureFromCAM( CV_CAP_ANY );
cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH, 320);
cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT, 240);

frame = cvQueryFrame( capture );

if( !frame ) break;
result = frame;
flip(result , result ,-1);

cvReleaseCapture( &capture );

for(int i = 0; i < 240; ++i){
    for(int j = 0; j < 320; ++j){ 

    if((result.at<Vec3b>(i,j)[1] > 230) && (result.at<Vec3b>(i,j)[0] > 230))
        { hell++;}
    else
        {dunkel++;}
    }
}

如何获取alpha通道,在本例中是OpenCV中Mat-Matrix中一个元素的[4]第四个元素?

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

网络摄像头的图像中没有Alpha通道。

另外,请使用opencv的c ++ api,古老的c是死路一条。

答案 1 :(得分:0)

有可能从网络摄像头读取Alpha通道吗? 喜欢hsv-color模型:

http://en.wikipedia.org/wiki/HSL_and_HSV

它是色调(Farbton)