본문 바로가기
배워보자!!/Opencv

[Opencv] 이미지 ROI 설정

by norinda 2019. 6. 20.
728x90

저번에 iplimage로 로드한 이미지를

특정 영역만 잘라서 보여주는걸 해보겠습니다.

이미지에서 x,y위치와 넓이 높이가 설정 가능합니다.

 

 IplImage* src;
    int setX = 110;//x축 설정
    int setY = 140;//y축 설정
    int setWidth = 100;//이미지 넓이
    int setHeight = 100;//이미지 높이
    cvSetImageROI(tempImg, cvRect(setX, setY, setWidth, setHeight));//roi설정
    src = cvCreateImage(cvSize(setWidth, setHeight),8,3);
    cvCopyImage(tempImg, src);
    BITMAPINFO bitmapInfo;
    memset(&bitmapInfo, 0, sizeof(bitmapInfo));
    bitmapInfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
    bitmapInfo.bmiHeader.biPlanes = 1;
    bitmapInfo.bmiHeader.biCompression = BI_RGB;
    bitmapInfo.bmiHeader.biWidth = src->width;
    bitmapInfo.bmiHeader.biHeight = -src->height;
    bitmapInfo.bmiHeader.biBitCount = src->depth * src->nChannels;
    //
    //1
    int DLG = IDC_STATIC_PIC_MINI;//picture control 
    CStatic *inputPictureBox = (CStatic *)GetDlgItem(DLG);
    RECT rcPic;
    inputPictureBox->GetClientRect(&rcPic);
    CWnd* pWndPic = (CWnd*)GetDlgItem(DLG);
    CDC *dcPic = pWndPic->GetDC();
    dcPic->SetStretchBltMode(COLORONCOLOR);
    ::StretchDIBits(dcPic->m_hDC, rcPic.left, rcPic.top, rcPic.right, rcPic.bottom,
        0, 0, src->width, src->height, src->imageData, &bitmapInfo, DIB_RGB_COLORS, SRCCOPY);

반응형

댓글