for(int i=0; i<50; i++)//延遲50張照片
frame = cvQueryFrame(capture);
cvFlip( frame, 0, 0);
cvCvtColor(frame, background1, CV_BGR2GRAY);//把fame的顏色轉為CV_BGR2GRAY到background1
background2=cvCloneImage(background1);//把background1複製到background2
while(true)
{
frame = cvQueryFrame(capture);
cvFlip( frame, 0, 0);
cvCvtColor(frame, gray, CV_BGR2GRAY); //把fame的顏色轉為CV_BGR2GRAY到gray
cvAbsDiff(gray, background1, difference1);//gray減掉background1到difference1取絕對值
cvFlip( difference1, 0, 0);
cvThreshold(difference1,difference1,60,255,CV_THRESH_BINARY);//如果色階大於31變255 小於60變0
cvAbsDiff(gray, background2, difference2);//gray減掉background2到difference2取絕對值
cvFlip( difference2, 0, 0);
cvThreshold(difference2,difference2, 60,255,CV_THRESH_BINARY);
background2=cvCloneImage(gray);//把gray複製到background2
cvFlip( frame, 0, 0);
cvShowImage("Webcam",frame);
cvShowImage("Webcam1",difference1);
cvShowImage("Webcam2",difference2);
if(cvWaitKey(10)>0) break;
}
圖像顏色的轉換
沒有留言:
張貼留言