opencv 中的cvcopy函数参数问题!!!!
cvcopy函数的两个参数图像的大小必须一样吗?怎样能实现把一个小图拷贝到一个大图的感兴趣区域呢???...
cvcopy函数的两个参数图像的大小必须一样吗?怎样能实现把一个小图拷贝到一个大图的感兴趣区域呢???
展开
4个回答
展开全部
cvcopy : 拷贝一个数组给另一个数组 void cvCopy( const CvArr* src, CvArr* dst, const CvArr* mask=NULL ); src 输入数组。 dst 输出数组。 mask 操作掩码是8比特单通道的数组,它指定了输出数组中被改变的元素。 函数cvCopy从输入数组中复制选定的成分到输出数组: 如果mask(I)!=0,则dst(I)=src(I)。 如果输入输出数组中的一个是IplImage类型的话,其ROI和COI将被使用。输入输出数组必须是同样的类型、维数和大小。函数也可以用来复制散列数组(这种情况下不支持mask)。
展开全部
有一个方法,首先获取小图像的大小:CvSize rect=cvGetSize(SmallImg);
cvSetImageROI(BigImg,rect);
cvCopy(SmallImg,BigImg);
cvResetImageROI(BigImg);
理论上这样应该可以实现你所需的功能,你试下。
cvSetImageROI(BigImg,rect);
cvCopy(SmallImg,BigImg);
cvResetImageROI(BigImg);
理论上这样应该可以实现你所需的功能,你试下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设置掩码区域
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
IplImage* merge=cvCreateImage(cvSize(3*frame->width,frame->height),IPL_DEPTH_8U,3);
cvSetZero(merge);
CvRect rect1=cvRect(0,0,frame->width,frame->height);
cvSetImageROI(merge,rect1);
cvCopy(frame,merge,NULL);
cvResetImageROI(merge);
CvRect rect2=cvRect(frame->width,0,frame->width,frame->height);
cvSetImageROI(merge,rect2);
cvCopy(gray,merge,NULL);
cvResetImageROI(merge);
CvRect rect3=cvRect(2*frame->width,0,frame->width,frame->height);
cvSetImageROI(merge,rect3);
cvCopy(toCanny,merge,NULL);
cvResetImageROI(merge);
cvNamedWindow("merge", CV_WINDOW_AUTOSIZE );
cvShowImage("merge", merge );
cvSetZero(merge);
CvRect rect1=cvRect(0,0,frame->width,frame->height);
cvSetImageROI(merge,rect1);
cvCopy(frame,merge,NULL);
cvResetImageROI(merge);
CvRect rect2=cvRect(frame->width,0,frame->width,frame->height);
cvSetImageROI(merge,rect2);
cvCopy(gray,merge,NULL);
cvResetImageROI(merge);
CvRect rect3=cvRect(2*frame->width,0,frame->width,frame->height);
cvSetImageROI(merge,rect3);
cvCopy(toCanny,merge,NULL);
cvResetImageROI(merge);
cvNamedWindow("merge", CV_WINDOW_AUTOSIZE );
cvShowImage("merge", merge );
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询