我在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]第四个元素?
感谢您的帮助
答案 0 :(得分:0)
网络摄像头的图像中没有Alpha通道。
另外,请使用opencv的c ++ api,古老的c是死路一条。
答案 1 :(得分:0)
有可能从网络摄像头读取Alpha通道吗? 喜欢hsv-color模型:
它是色调(Farbton)