说明:
操作系统:WIN7
编程环境:Visual Studio Ultimate 2012
开发库版本:OpenCV 2.4.9
开发语言:C/C++
开发模式:基本图像数据结构、输入、输出使用OpenCV库进行操作,所有核心算法通过编程完成,非调用函数。
相关文件下载:
一、最近邻插值算法
1.1 原理分析
最简单的插值算法,输出像素的值为输入图像中与其最邻近的采样点的像素值。
假设图像x轴方向的缩放比率为Sx,y轴方向的缩放比率为Sy,相应的变换表达式为:
逆运算:
直接根据缩放公式计算得到的目标图像中,某些映射原坐标可能不是整数,从而找不到对应的像素位置。最近邻插值算法的策略就是直接使用它最邻近的整数坐标位置处的像素灰度值。
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;
//=========================================================================================================================