Hi everyone, I have a question for you. I do simple application in MFC and OpenCV 2.0 that will perform a 3D reconstruction from several images. Each image represents the same object from different angles, this images are together in some folder, like My Pictures etc. I draw points on each image, that points represent the x,y coordinates that will be used later. When I open image in my application from some folder and select the points, I don't know how to open next image that comes in that folder. If I open the first image and select the points, how to open second image and select points on it, then comes third picture etc. I use switch case function, key pg dn is for next image, pg up is for previous image. Does anyone have an idea? Please help me. Here is a code, from CFileDialog:
void CMyApp::OnImageOpen() { CFileDialog dlg(TRUE, _T(".bmp"), "mPath", OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST|OFN_HIDEREADONLY, "Image files (.bmp; .jpg; *.pgm; *.png) |.bmp;.jpg;.pgm;.png |All Files (.)|.*||",NULL); dlg.m_ofn.lpstrTitle = _T("Select Image"); if (dlg.DoModal() == IDOK) { CString path = dlg.GetPathName(); CString mPath = path.Mid(path.GetLength()-9,5); char *FileName = (char *)LPCSTR (path); int len = strlen(FileName); sscanf(FileName+len-9, "%d", &iImage); //sprintf(FileName+len-9, "%05d",iImage+1);
IplImage *image;
image = cvLoadImage(path);
strcpy(window_name, path);
cvNamedWindow(window_name,0);
cvShowImage(window_name, image);
cvResizeWindow(window_name,800,600);
cvSetMouseCallback(window_name,my_mouse_callback,(void*) image);
bool bContinue = true;
while(bContinue)
{
int key = cvWaitKey();
bContinue = (key != 27);
switch(key){
case 0x00220000:
// PgDn
break;
case 0x00210000:
// PgUp
break;
}
}