OpenCV实现双线性插值算法求助
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/13 00:20:06
OpenCV实现双线性插值算法求助
现在问题是这样的:
如果输入缩放的x,y不一致,则会出现错误
如输入1,2
窗口没问题,宽不变,高度变为2倍
但是图像变换后是 宽变为2倍,高不变
下面为算法代码,
void bilinear(int dstWidth,int dstHeight)
{
int i,j;
float x,y;
float srcX,srcY;
int int_srcX,int_srcY;
float float_srcX,float_srcY;
for(i=0;i=width-1)
{
src_up_left_s=cvGet2D(image,height-1,width-1);
src_up_right_s=cvGet2D(image,height-1,width-1);
src_down_left_s=cvGet2D(image,height-1,width-1);
src_down_right_s=cvGet2D(image,height-1,width-1);
}
else
{
src_up_left_s=cvGet2D(image,height-1,int_srcY+1);
src_up_right_s=cvGet2D(image,height-1,int_srcY+1);
src_down_left_s=cvGet2D(image,height-1,int_srcY);
src_down_right_s=cvGet2D(image,height-1,int_srcY);
}
}
else if(int_srcX
现在问题是这样的:
如果输入缩放的x,y不一致,则会出现错误
如输入1,2
窗口没问题,宽不变,高度变为2倍
但是图像变换后是 宽变为2倍,高不变
下面为算法代码,
void bilinear(int dstWidth,int dstHeight)
{
int i,j;
float x,y;
float srcX,srcY;
int int_srcX,int_srcY;
float float_srcX,float_srcY;
for(i=0;i=width-1)
{
src_up_left_s=cvGet2D(image,height-1,width-1);
src_up_right_s=cvGet2D(image,height-1,width-1);
src_down_left_s=cvGet2D(image,height-1,width-1);
src_down_right_s=cvGet2D(image,height-1,width-1);
}
else
{
src_up_left_s=cvGet2D(image,height-1,int_srcY+1);
src_up_right_s=cvGet2D(image,height-1,int_srcY+1);
src_down_left_s=cvGet2D(image,height-1,int_srcY);
src_down_right_s=cvGet2D(image,height-1,int_srcY);
}
}
else if(int_srcX
height、width你是不是理解反了,这两个和我们正常的看图像的宽高不一样