resize函数查表优化

接着OpenCV的resize函数优化写,对于输入输出图像大小已知,且通道数相同的resize操作,可以使用查表的方法来进行优化,先生成输出图像中每个点对应原图的位置,然后拷贝原图像素点到目标图像。

这里的拷贝操作,也可以换成最邻近、插值等。

创建表

int createTable(int *table, int width_in, int height_in, int channels, int width_out, int height_out){
    float step_x = float(width_in)/float(width_out);
    float step_y = float(height_in)/float(height_out);
    int length = width_out * height_out;
    int loc_y = 0;
    int loc_x = 0;
    int bytes_per_line = width_in * channels;
    
    for (int i = 0; i < length; i++) {
        loc_y = i/width_out;
        loc_x = i%width_out;
        table[i] = int(step_y*loc_y) * bytes_per_line + int(loc_x*step_x)*channels;
    }
    return 0;
}

resize


                
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值