最近邻插值法的Java程序_[算法学习实践]线性插值的实现(最近邻+双线性)

说明:操作系统:WIN7编程环境:Visual Studio Ultimate 2012开发库版本:OpenCV 2.4.9开发语言:C/C++开发模式:基本图像数据结构、输入、输出使用OpenCV库进行操作,所有核心算法通过编程完成,非调用函数。相关文件下载:一、最近邻插值算法1.1 原理分析最简单的插值算法,输出像素的值为输入图像中与其最邻近的采样点的像素值。假设图像x轴方向的缩放比率为Sx,...
摘要由CSDN通过智能技术生成

说明:

操作系统:WIN7

编程环境:Visual Studio Ultimate 2012

开发库版本:OpenCV 2.4.9

开发语言:C/C++

开发模式:基本图像数据结构、输入、输出使用OpenCV库进行操作,所有核心算法通过编程完成,非调用函数。

相关文件下载:

一、最近邻插值算法

1.1 原理分析

最简单的插值算法,输出像素的值为输入图像中与其最邻近的采样点的像素值。

假设图像x轴方向的缩放比率为Sx,y轴方向的缩放比率为Sy,相应的变换表达式为:

%E7%BA%BF%E6%80%A7%E6%8F%92%E5%80%BC%E5%AE%9E%E7%8E%B0_%E5%85%AC%E5%BC%8F1.JPG逆运算:

%E7%BA%BF%E6%80%A7%E6%8F%92%E5%80%BC%E5%AE%9E%E7%8E%B0_%E5%85%AC%E5%BC%8F2.JPG

直接根据缩放公式计算得到的目标图像中,某些映射原坐标可能不是整数,从而找不到对应的像素位置。最近邻插值算法的策略就是直接使用它最邻近的整数坐标位置处的像素灰度值。

1.2 C/C++ 程序(红色部分为算法实现的关键部分)

#include

#include

#include

#include

using namespace std;

using namespace cv;

//

//图像放大:最近邻插值

//

int main()

{

//图像读取

Mat image = imread("car_1.jpg",0);

//图像读取有问题

if(!image.data)

{

cout << "image read error! please check!" << endl;

return 0;

}

//图像基本信息输出

cout << "Image Info: height:" << image.size().height << "  width:" << image.size().width << endl;

//=========================================================================================================================

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值