真心寻求编程问题,想在一幅彩色图像上截图某个部分的图像,存为另一幅图像,c语言编写,可借助opencv
1个回答
展开全部
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);//保存目标图像
}
昨天写了个从视频流中截取ROI的代码,不过是C++。 发现你要C代码,我就从网上找了一个,非原创。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询