最近邻插值缩小图片程序c语言,图像缩放--最近邻插值

这种方法的优点是速度快,在放大倍数不大的时候,与其他几种算法效果差别不大

1. 用 P (i,j)表示目标图像的像素点(RGB),P(x,y)表示源图像的像素点(RGB)

2. 求解水平和垂直缩放因子

double horFactor = srcWidth / dstWidth;

double verFactor = srcHeight / dstHeight;

3.计算 P(i,j)在源图中的映射 P(x0,y0)

double x0 = i * verFactor;

double y0 = j * horFactor;

4. 计算离P(x0,y0)最近的像素点 P(x,y)

int x = round(x0);

int y = round(y0);

5. 得出目标图像 P(i,j)的像素值

P_dst(i,j).R = P_src(x,y).R;

P_dst(i,j).G = P_src(x,y).G;

P_dst(i,j).B = P_src(x,y).B;

6. Source Code

uint8_t *Scaling(uint8_t *src, int srcWidth, int srcHeight, int dstWidth, int dstHeight)

{

uint8_t *buf = new uint8_t[dstWidth * dstHeight * 3];

double horFactor = double(srcWidth) / dstWidth; //水平缩放因子

double

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值