opencv图像覆盖运行出现如下错误,程序编译没有错误,但运行后控制台出现如下错误,求解答

错误:OpenCVError:Assertionfailed(!(dsize==Size())||(inv_scale_x>0&&inv_scale_y>0))inunk... 错误:
OpenCV Error: Assertion failed (!(dsize == Size()) || (inv_scale_x > 0 && inv_sc
ale_y > 0)) in unknown function, file C:\slave\WinInstallerMegaPack\src\opencv\m
odules\imgproc\src\imgwarp.cpp, line 1433
代码如下
#include"highgui.h"
#include"cv.h"
#include<iostream>
using namespace std;
int main()
{
IplImage * img1 = cvLoadImage("F:\\杂\\图1.png",1);//被复制的图像
IplImage * img2 = cvLoadImage("F:\\杂\\图2.jpg",1); //代表目标图像
int d=img2->depth;//目标图像的深度
int n=img2->nChannels;//目标图像的通道数
IplImage* img3 =NULL;
double bili1=50/img1->width;//宽变得比例
double bili2=50/img1->height;//高的比例
CvSize size;
size.width=(int)img1->width*bili1;
size.height=(int)img1->height*bili2;
img3=cvCreateImage(size,d,n);
cvResize(img1,img3,CV_INTER_LINEAR );
CvSize size1=cvGetSize(img3);
CvRect roi3=cvRect(0,0,size1.width,size1.height);//获得img3的感兴趣区域
cvSetImageROI(img3, roi3);//设置感兴趣区域图3的
CvRect roi2=cvRect(0,0,50,50);
cvSetImageROI(img2, roi2);//同上
cvCopy(img2, img3);
cvResetImageROI(img3);
cvResetImageROI(img2);

cvNamedWindow("result");

cvShowImage("result", img2);

cvWaitKey(-1);
cvReleaseImage(&img2);
//cvReleaseImage(&img1);
cvDestroyAllWindows();
return 0;

}
我这个程序的目的是把img1整张图按比例缩小后放到img2的指定位置,但我不知道由于什么原因会出现上述错误,求各位帮忙解答
展开
 我来答
不酴釄的山茶
推荐于2016-06-21 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:55.8万
展开全部

#include"highgui.h"

#include"cv.h"

#include<iostream>

using namespace std;

int main()

{

IplImage * img1 = cvLoadImage("./TestImg/111.bmp",1);//被复制的图像    

IplImage * img2 = cvLoadImage("./TestImg/222.bmp",1);     //代表目标图像

int d=img2->depth;//目标图像的深度

int n=img2->nChannels;//目标图像的通道数

IplImage* img3 =NULL;

double bili1=1.0*50/img1->width;//宽变得比例------你原来的整形除法结果分子小于分母,等于0.

double bili2=1.0*50/img1->height;//高的比例-------。。。

CvSize size;

size.width=(int)img1->width*bili1;

size.height=(int)img1->height*bili2;

img3=cvCreateImage(size,d,n);

cvResize(img1,img3,CV_INTER_LINEAR );

CvSize size1=cvGetSize(img3);

CvRect roi3=cvRect(0,0,size1.width,size1.height);//获得img3的感兴趣区域

cvSetImageROI(img3, roi3);//设置感兴趣区域图3的

CvRect roi2=cvRect(0,0,50,50);

cvSetImageROI(img2, roi2);//同上

cvCopy(img2, img3);

cvResetImageROI(img3);  

cvResetImageROI(img2);  

    cvNamedWindow("result");  

    cvShowImage("result", img2);  

cvWaitKey(-1);  

    cvReleaseImage(&img2);  

//cvReleaseImage(&img1);  

    cvDestroyAllWindows();  

return 0;  

}

追问
不行啊程序改后就直接停止运作了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式