采用OPENCV,從一幅圖像中提取部分區域,並保存為新圖像。
void CFRDemo1Dlg::OnButton1()
{
//加載源圖像CV_LOAD_IMAGE_COLOR或者CV_LOAD_IMAGE_GRAYSCALE
IplImage *pSrc = cvLoadImage("lcl.jpg", CV_LOAD_IMAGE_GRAYSCALE);
if(!pSrc)
{
MessageBox("圖像文件加載失敗!","錯誤",MB_ICONERROR|MB_OK);
return ;
}
CvSize size= cvSize(40,50);//區域大小
cvSetImageROI(pSrc,cvRect(60,70,size.width, size.height));//設置源圖像ROI
IplImage* pDest = cvCreateImage(size,pSrc->depth,pSrc->nChannels);//創建目標圖像
cvCopy(pSrc,pDest); //復制圖像
cvResetImageROI(pDest);//源圖像用完后,清空ROI
cvSaveImage("Roi.jpg",pDest);//保存目標圖像
}