|
답변 감사드립니다~
많은 도움이 되었습니다!
행복한 하루 보내세요~
사랑니 님이 쓰신 글 :
: TImage 올려서 했었던 소스가 있네요.
:
: IplImage* srcImg = cvCreateImageHeader(cvSize(w, h), IPL_DEPTH_8U, 1);
: cvSetData(srcImg,(void *)pt.llVal,w);
: IplImage* frame_copy = cvCreateImage( cvSize(srcImg->width,srcImg->height),IPL_DEPTH_8U, srcImg->nChannels );
: cvFlip(srcImg,frame_copy);
:
: //----- Bitmap Info
: LPBITMAPINFO m_lpBitmapInfo = (BITMAPINFO *)GlobalAlloc(GMEM_FIXED, sizeof(BITMAPINFOHEADER) + 256*sizeof(RGBQUAD));
: if(m_lpBitmapInfo == NULL) return ;
:
: m_lpBitmapInfo->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
: m_lpBitmapInfo->bmiHeader.biWidth = w;
: m_lpBitmapInfo->bmiHeader.biHeight = h;
: m_lpBitmapInfo->bmiHeader.biPlanes = 1;
: m_lpBitmapInfo->bmiHeader.biBitCount = 8;
: m_lpBitmapInfo->bmiHeader.biCompression = BI_RGB;
: m_lpBitmapInfo->bmiHeader.biSizeImage = w*h;
: m_lpBitmapInfo->bmiHeader.biXPelsPerMeter = 0;
: m_lpBitmapInfo->bmiHeader.biYPelsPerMeter = 0;
: m_lpBitmapInfo->bmiHeader.biClrUsed = 0;
: m_lpBitmapInfo->bmiHeader.biClrImportant = 0;
:
: for(short j=0; j<256; j++)
: {
: m_lpBitmapInfo->bmiColors[j].rgbBlue = j;
: m_lpBitmapInfo->bmiColors[j].rgbRed = j;
: m_lpBitmapInfo->bmiColors[j].rgbGreen = j;
: }
: SetDIBitsToDevice( Image->Canvas->Handle, // handle of device context
: 0, // x-coordinate of upper-left corner of dest. rect.
: 0, // y-coordinate of upper-left corner of dest. rect.
: w, // source rectangle width
: h, // source rectangle height
: 0, // x-coordinate of lower-left corner of source rect.
: 0, // y-coordinate of lower-left corner of source rect.
: 0, // first scan line in array
: h, // number of scan lines
: frame_copy->imageData, // address of array with DIB bits
: (LPBITMAPINFO)m_lpBitmapInfo, // address of structure with bitmap info.
: DIB_RGB_COLORS); // RGB or palette indices
:
: GlobalFree((BITMAPINFO *)m_lpBitmapInfo);
:
:
: 김병규 님이 쓰신 글 :
: : Open cv를 이용해서 영상처리를 공부하고 있습니다.
: :
: : 다름이 아니라 웹캠으로 부터 받는 영상을 Image 컴포넌트에 띄우기 위해서
: :
: : HWND hwnd1 = Image->Canvs->Handle;
: :
: : 위와 같이 하면 영상이 제가 폼위에 올려 놓은 이미지 컴포넌트 위에 나타나는 것이 아니라
: :
: : 자꾸 모니터 왼쪽 끝에 영상이 나타납니다.
: :
: : Panel이나 다른 컴포넌트의 handle을 받아 와서 뿌려줄때는 문제가 없었는데...
: :
: : Image컴포넌트를 쓸때만 이렇네요...
: :
: : Panel에다 뿌려줘도 상관은 없는데.. 제가 받아온 영상위에 원을 그려서 물체를 tracking을
: :
: : 해야하는데.. 다른 컴포넌트에는 타원(ellipse)을 그려줄 수 있는 방법이 없는거 같아서요..
: :
: : 영상의 위치를 제가 폼 위에 올려 놓은 그 위치에다 나오게 하라면 어떻게 해야 하나요...
: :
: : 조언 좀 부탁드리겠습니다!
|