this 페이지에 코드가 있습니다. 그것은 char*
및 복수 IplImage*
인수로 입력 한 다음 모든 이미지를 하나의 창에 표시하는 깔끔한 기능입니다.OpenCV를 사용하여 하나의 이미지와 하나의 비디오를 하나의 창에 표시하는 방법
하나의 이미지와 하나의 비디오로 동일하게 작업하고 싶습니다. 따라서, 웹 캠 입력을 초기화하기 위해 main 함수를 변경하고 위의 함수로 호출을 수정하는 것 외에 무엇을 변경해야합니까?
내 주요 기능은 다음과 이에
int main() {
IplImage *img1 = cvLoadImage("image1.png");
CvCapture* capture = cvCaptureFromCAM(0);
if (!capture) {
fprintf(stderr, "ERROR: capture is NULL \n");
getchar();
return -1;
}
// Create a window in which the captured images will be presented
cvNamedWindow("mywindow", CV_WINDOW_AUTOSIZE);
// Show the image captured from the camera in the window and repeat
while (1) {
// Get one frame
IplImage* frame = cvQueryFrame(capture);
if (!frame) {
fprintf(stderr, "ERROR: frame is null...\n");
getchar();
break;
}
//cvShowImage("mywindow", frame);
cvShowManyImages("Image", 2, img1, frame);
// Do not release the frame!
//If ESC key pressed, Key=0x10001B under OpenCV 0.9.7(linux version),
//remove higher bits using AND operator
if ((cvWaitKey(10) & 255) == 27) break;
}
// Release the capture device housekeeping
cvReleaseCapture(&capture);
cvDestroyWindow("mywindow");
return 0;
}
문제는 단지 비디오의 첫 번째 프레임을 나타내고있다. 다음 프레임을 얻으려면 계속 esc
을 눌러야합니다.
이 새 이미지에 프레임을 복사하여 두 이미지를 그리는 시도? – Manuel
이미지와 함께 재생되는 비디오를보고 싶습니다. – wrahool