用c语言编写抛物线差值程序,图像插值算法的C语言实现

自己开个博客,将每天学习到的东西都贴在上面。和大家进行交流。

下面是我写的最近插值算法,算法是c语言写的。希望大家用得着。

/**  内容:最近插值算法的实现  补充:opencv加c语言  作者:  时间:2014.11.3 **/ #include"cv.h" #include"highgui.h" #define min(a,b)            (((a) < (b)) ? (a) : (b)) int main() {    IplImage *src=cvLoadImage("pp.jpg");    IplImage *dst;            //scale是缩放比例     double scale=2;     //变量存储目标图像大小     CvSize dst_cvsize;    dst_cvsize.width=(int)(src->width*scale);    dst_cvsize.height=(int)(src->height*scale);    dst=cvCreateImage(dst_cvsize,src->depth,src->nChannels);    double scale_x=(double)src->width/dst->width;    double scale_y=(double)src->height/dst->height;    if(scale_x==0||scale_y==0)  printf("程序错误\n");        for(int i=0;iwidth;i++)    {       double Md_sx=i*scale_x;      int sx=(int)(i*scale_x); if(sx>Md_sx) {sx=sx-1;} sx=min(sx , src->width-1);    for(int j=0;jheight;j++)  {    double Md_sy=i*scale_x;         int sy=(int)(j*scale_y);     if(sy>Md_sy) {sy=sy-1;} sy=min(sy , src->height-1);   cvSet2D(dst,j,i,cvGet2D(src,sy,sx));  }    }      cvNamedWindow( "原始图像", 1 );//创建窗口      cvShowImage( "原始图像", src);//显示图像      cvNamedWindow( "最近邻插值", 1 );//创建窗口      cvShowImage( "最近邻插值", dst);//显示图像 cvWaitKey(0); //等待按键     cvDestroyWindow( "原始图像" );     cvReleaseImage( &src ); //释放图像     cvDestroyWindow( "最近邻插值" );//销毁窗口     cvReleaseImage( &dst); //释放图像     return 0; }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值