#<opencv2/imgproc/imgproc.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
// 实现最近邻插值图像缩放
cv::Mat nNeighbourInterpolation(cv::Mat srcImage)
{// 判断输入有效性CV_Assert(srcImage.data != NULL);int rows = srcImage.rows;int cols = srcImage.cols;// 构建目标图像cv::Mat dstImage = cv::Mat(cv::Size(2300, 480), srcImage.type(), cv::Scalar::all(0));int dstRows = dstImage.rows;int dstCols = dstImage.cols;// 坐标转换 求取缩放倍数float cx = (float)cols / dstCols;float ry = (float)rows / dstRows; std::cout << "cx: " << cx << "ry:" << ry << std::endl;// 遍历图像完成缩放操作for(int i = 0 ; i < dstCols; i++){// 取整获取目标图像在源图像对应坐标int ix = cvFloor(i * cx);  for(int j = 0; j < dstRows; j++){int jy = cvFloor(j * ry);// 边界处理 防止指针越界if(ix > cols - 1)ix = cols - 1;if(jy > rows - 1)jy = rows - 1;// 映射矩阵dstImage.at<cv::Vec3b>(j, i) = srcImage.at<cv::Vec3b>(jy, ix);}        }return  dstImage;
}
int main()
{// 图像源获取及验证cv::Mat srcImage = cv::imread("2.jpg");if( !srcImage.data ) return -1;// 最近邻插值缩放操作cv::Mat dstImage = nNeighbourInterpolation(srcImage);cv::imshow("srcImage", srcImage);cv::imshow("dstImage", dstImage);cv::waitKey(0);return 0;
}

最近邻插值实现:图像任意尺寸变换相关推荐

  1. OpenCV对图像进行尺寸变换

    简 介: 本博文给你展示了如何通过指定输出结果的宽高来对图像进行尺寸变化.你也了解如何根据比例因子来保持图像的纵横比不发生变化,从而在改变图像尺寸的过程中图像不发生形变.最后也讨论了不同的插值方法如何 ...

  2. 【机器视觉学习笔记】最近邻插值实现图片任意角度旋转(C++)

    目录 原理 源码 RotateImage 主函数 效果 完整源码 速度优化 源码 优化效果 平台:Windows 10 20H2 Visual Studio 2015 OpenCV 4.5.3 本文算 ...

  3. SPP-Net 是怎么让 CNN 实现输入任意尺寸图像的?

    ECCV2014 Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition 解决的问题: there ...

  4. 图像插值算法:最近邻插值、双线性插值

    插值算法:最近邻插值.双线性插值 文章目录 插值算法:最近邻插值.双线性插值 最近邻插值法(nearest_neighbor) 线性插值 单线性插值法 双线性插值 插值算法有很多种,这里列出关联比较密 ...

  5. FPGA纯Verilog实现任意尺寸图像缩放,串口指令控制切换,贴近真实项目,提供工程源码和技术支持

    目录 1.前言 2.目前主流的FPGA图像缩放方案 3.本方案的优越性 4.详细设计方案 5.vivado工程详解 6.上板调试验证并演示 7.福利:工程源码获取 1.前言 代码使用纯verilog实 ...

  6. CV笔记2:图像插值算法—最近邻插值、双线性插值

    目录 一. 简介 二.最近邻插值 三.双线性插值 3.1 线性插值 3.2 双线性插值 3.3 双线性插值的加速及优化策略 参考 一. 简介 在图像处理中,平移变换.旋转变换以及放缩变换是一些基础且常 ...

  7. 一个小改动,CNN输入固定尺寸图像改为任意尺寸图像

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文小白将和大家一起学习如何在不使用计算量很大的滑动窗口的情况下对 ...

  8. 【图像处理】图像内插“最近邻插值 最近邻内插法(Nearest Neighbour Interpolate)”代码演示(调整图像大小、放大、缩小)

    文章目录 何为内插--最近邻插值,引用自<数字图像处理--第三版> 代码演示 1.设置缩放倍数来放大.缩小图像 2.设置图片最终分辨率来放大.缩小图像 代码中使用的源图 20200625 ...

  9. 图像处理中的“内插”是什么?插值、图像内插值、图像间插值、重取样(用已知数据来估计未知位置的数值的处理)(最近邻内插法、双线性内插)

    图像插值是在基于模型框架下,从低分辨率图像生成高分辨率图像的过程,用以恢复图像中所丢失的信息.图象插值方法有:最近邻插值,双线性插值,双平方插值,双立方插值以及其他高阶方法. 在很多情况下,人们需要对 ...

最新文章

  1. for循环10000次花多长时间_java循环经典案例学会它入行java
  2. 启动elasticsearch命令_快速安装ElasticSearch
  3. sublime text3搭建react native
  4. MFC关键技术-命令传递机制
  5. ubuntu 安装java jdk_「ubuntu安装jdk」Ubuntu安装jdk8的两种方式 - seo实验室
  6. 域名升级访问中拿笔记好_SEO优化中如何让你的页面访问速度更快
  7. Bootstrap 折叠插件Collapse 选项
  8. 单片机特殊功能寄存器
  9. 用计算机模拟病毒,计算机模拟揭露HIV病毒体内传播细节,有望为治疗提供新途径...
  10. php swoole 游戏框架,Swoole 高性能php框架
  11. 点云能量预测:KPConv点云输入方式
  12. mysql 安装是否成功,启动,查看配置文件,连接
  13. Netty4 websocke实现聊天功能
  14. Feature Statistics Mixing Regularization for Generative Adversarial Networks
  15. python绘制科赫雪花and科赫雪花进阶版
  16. 【C++】实现自旋锁互斥(TAS 算法和 CAS 算法)
  17. 苹果id可以彻底注销吗_如何注销苹果id账号
  18. php 调试 打印错误
  19. Git Commit Message校验踩坑指南
  20. 以index.wxml为例解析WXML

热门文章

  1. CSP 201912-1 报数 python实现
  2. 【跃迁之路】【425天】刻意练习系列184—SQL(2018.04.06)
  3. Bzoj4016: [FJOI2014]最短路径树问题
  4. C# MoreLinq 扩展安装
  5. 为什么选择数据分析师这个职业?
  6. session 与 cookie的区别
  7. Douglas-Peucker算法
  8. C++条件变量使用详解
  9. c语言坐标正反算代码,C语言代码逆向的实战十篇(原创)
  10. matlab实例 pdf,matlab65实例教程(含语句注释).pdf