Visual C++ 2008 Express로 opencv 2.1 프로그램을 코딩하고 있습니다. 각 픽셀의 각 픽셀 색상 데이터를 가져 와서 픽셀별로 수정하고 싶습니다.nchannel()은 컬러 비디오 이미지의 경우에도 항상 1을 반환합니다.
나는 "frmSource.channels();"코드가 " 매트 frmSource의 색상 채널을 반환하지만 3이나 4가 아닌 절대 컬러 비디오 이미지 인 경우에도 항상 1을 반환합니다.
잘못 되었나요?
내가 잘못하면 각 픽셀의 각 색상 구성 요소 데이터를 가져 오는 방법을 안내해주세요.
또한 "get (CV_CAP_PROP_FRAME_COUNT)"의 총 프레임 수는 예상 한 프레임 수보다 훨씬 크기 때문에 "get (CV_CAP_PROP_FRAME_COUNT) by get (CV_CAP_PROP_FPS Frame rate.)"을 나눌 수 있습니다. 결과는 내가 예상 한대로.
나는 프레임이 영화의 컷과 초당 30 프레임과 같은 것을 알고있다. 그게 맞습니까?
void fEditMain()
{
VideoCapture vdoCap("C:/Users/Public/Videos/Sample Videos/WildlifeTest.wmv");
// this video file is provided in window7
if(!vdoCap.isOpened())
{
printf("failed to open!\n");
return;
}
Mat frmSource;
vdoCap >> frmSource;
if(! frmSource.data) return;
VideoWriter vdoRec(vRecFIleName, CV_FOURCC('W','M','V','1'), 30, frmSource.size(), true);
namedWindow("video",1);
// record video
int vFrmCntNo=1;
for(;;)
{
int vDepth = frmSource.depth();
vChannel = frmSource.channels();
// here! vChannel is always 1, i expect 3 or 4 because it is color image
imshow("video", frmSource);// frmSource Show
vdoRec << frmSource;
vdoCap >> frmSource;
if(! frmSource.data)
return;
}
return;
}
'vChannel'의 유형은 무엇입니까? – karlphillip
OpenCV는 버전 2.3.1입니다! 나는 당신의 버전을 업데이 트하는 것이 좋습니다. – karlphillip