Datawhale CV基础学习 task1 图像插值算法

Datawhale CV基础学习 task1 图像插值算法

内容

目标函数与原函数的概念
源图像:源图像是指被数字图像编辑和压缩应用程序访问的原始图像
目标图像:即想要等到的图像

像素点不是一个点,而是一个区域

Datawhale CV基础学习 task1 图像插值算法_第1张图片

1、 最近邻插值算法

最近邻插值,是指将目标图像中的点,对应到源图像中后,找到最相邻的整数点,作为插值后的输出

.
Datawhale CV基础学习 task1 图像插值算法_第2张图片2、 双线性插值算法Datawhale CV基础学习 task1 图像插值算法_第3张图片

C++代码实现

去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char* argv[])
{
	Mat img = imread("D:/image/yuner.jpg");
	if (img.empty())
	{
		cout << "无法读取图像" << endl;
		return 0;
	}

	int height = img.rows;
	int width = img.cols;
	// 缩小图像,比例为(0.2, 0.2)
	Size dsize = Size(round(0.2 * width), round(0.2 * height));
	Mat shrink;
    //使用双线性插值
	resize(img, shrink, dsize, 0, 0, INTER_LINEAR);

	// 在缩小图像的基础上,放大图像,比例为(1.5, 1.5)
	float fx = 1.5;
	float fy = 1.5;
	Mat enlarge1, enlarge2;
	resize(shrink, enlarge1, Size(), fx, fy, INTER_NEAREST);
	resize(shrink, enlarge2, Size(), fx, fy, INTER_LINEAR);

	// 显示
	imshow("src", img);
	imshow("shrink", shrink);
	imshow("INTER_NEAREST", enlarge1);
	imshow("INTER_LINEAR", enlarge2);
	waitKey(0);
    return 0;
}

输出结果

你可能感兴趣的:(笔记)