matlab总最近邻法则,MATLAB中最近邻插值算法

一段时间后,我在

MATLAB Image Processing Toolbox中通过了

imresize功能的代码,为图像的最近邻插值创建了一个简化版本。以下是如何应用于您的问题:

%# Initializations:

scale = [2 2]; %# The resolution scale factors: [rows columns]

oldSize = size(inputImage); %# Get the size of your image

newSize = max(floor(scale.*oldSize(1:2)),1); %# Compute the new image size

%# Compute an upsampled set of indices:

rowIndex = min(round(((1:newSize(1))-0.5)./scale(1)+0.5),oldSize(1));

colIndex = min(round(((1:newSize(2))-0.5)./scale(2)+0.5),oldSize(2));

%# Index old image to get new image:

outputImage = inputImage(rowIndex,colIndex,:);

另一个选择是使用内置的interp2功能,尽管您提到不想在其中一个注释中使用内置函数。

编辑:解释

如果有人有兴趣,我以为我会解释上面的解决方案如何工作?

newSize = max(floor(scale.*oldSize(1:2)),1);

首先,要获取新的行和列大小,将旧的行和列大小乘以比例因子。该结果向下取整为floor的最接近的整数。如果比例因子小于1,您可能会遇到一个奇怪的大小值之一为0的情况,这就是为什么调用max可以替换任何更少的值比1与1。

rowIndex = min(round(((1:newSize(1))-0.5)./scale(1)+0.5),oldSize(1));

colIndex = min(round(((1:newSize(2))-0.5)./scale(2)+0.5),oldSize(2));

接下来,为行和列计算新的一组索引。首先,计算一组用于上采样图像的索引:1:newSize(…)。每个图像像素被认为具有给定的宽度,使得像素1跨越0到1,像素2从1到2等等。因此,像素的“坐标”被视为中心,这就是为什么0.5从指数中减去。然后将这些坐标除以比例因子,以给出原始图像的一组像素中心坐标,然后将其添加到它们中并被舍入,以获得原始图像的整数指数集合。对min的调用确保这些索引中没有一个大于原始图像大小oldSize(…)。

outputImage = inputImage(rowIndex,colIndex,:);

最后,通过简单索引到原始图像来创建新的上采样图像。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/294321.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

史上最牛的文科生:法学出身,却发明出十进制计算器,折磨无数人的微积分符号,跨界40多个领域惊艳学术圈

全世界只有3.14 % 的人关注了爆炸吧知识“世界上没有完全相同的两片树叶。”想必大家对这句话耳熟能详,但却不知道这名言背后的作者是谁吧?其实,他就是与牛顿争论微积分优先权大战中的大佬:莱布尼茨。博览群书 天赋异禀1646年&…

如何解决secureCRT里面的The remote system refused the connection.

不废话,先爆照 Ubuntu缺省安装了openssh-client,所以在这里就不安装了,如果你的系统没有安装的话,再用apt-get安装上即可。然后确认sshserver是否启动了: ps -e |grep ssh 如果只有ssh-agent那ss

为operamasks增加HTML扩展方式的组件调用

#为operamasks增加HTML扩展方式的组件调用##背景 之前的[博文](http://www.cnblogs.com/p2227/p/3540858.html)中有提及到,发现easyui中的combobox,datebox,layout都有效率问题,其中layout的问题在[这里](http://www.cnblogs.com/p2227/p/3541162.html)有…

python 带pydev的eclipse无法导入win32api包(或无法导入其他包)

需要重新配置pydev中的python解释器,因为它不会自动更新。 将原先的python.exe先remove掉,再重新new回来,new回来的时候会让你勾选system libs,把你想要更新的勾选上去就可以了。转载于:https://blog.51cto.com/xuewei/1111889

OC之非ARC环境下循环retain问题

观察上述情况,上述就是著名的循环引用问题,对于此类问题,“你包含我,我包含你”,里面相关的对象占用的内存永远回收不了,解决办法很简单,与常规方法不同。正常情况下,我们应在Person…

我的开源故事

| 作者:李扬| 编辑:钱奕| 设计:杨敏| 责编:钱英宇一、前 言我相信我与开源故事的开始并不是第一次用GitHub或者CSDN,而是突如其来的新冠疫情。2020年1月25日,大年初一,范晶晶的一条关于wuhan202…

matlab 类 使用,matlab中sortrows的用法

sortrows有三种用法:B sortrows(A)B sortrows(A,column)[B,index] sortrows(A,...)我们先创建一个矩阵Afloor(gallery(uniformdata,[6 7],0)*100);A(1:4,1)95; A(5:6,1)76; A(2:4,2)7; A(3,3)73A 95 45 92 41 13 1 8495 7 73 89 20 74 5295 7 73 5 19 44 2095 7 …

Spring+EhCache缓存实例(详细讲解+源码下载)

转载注明出处http://blog.csdn.net/u013142781 一、ehcahe的介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。…

大型打脸现场!被藐视的少女摇身一变成为“抽象代数之母”,哲学教授只能跪地喊爸爸...

全世界只有3.14 % 的人关注了爆炸吧知识今天小天要为大家介绍一位数学界的女神。在爱因斯坦、帕维尔亚历山德罗夫等人的眼中,她是数学史上最重要的女人,甚至被爱因斯坦称为数学界的雅典娜。她,就是诺特定理的提出者——艾米诺特。艾米诺特上学…

组策略应用之一:映射网络驱动器

在部署文件服务器时,我们经常会用映射网络驱动器的方法访问共享文件,但如果有新员工离职、调岗或更换电脑后,就不得不重新映射网络驱动器,在一定程度上即增加了系统管理员的工作负担,另外在一定程度上也会影响员工的工…

白话面向对象

关于面向对象的学习,将是一个长期的过程,每一个阶段都会有不同的看法,现在对面向对象中的各种术语有有了一点新的认识,我以白话的形式描述出来。 1.类和对象 一个对象就是一个实体,你是一个对象,我是一个对…

Shell常用命令总结

1、 ls: 类似于dos下的dir命令 ls最常用的参数有三个: -a -l -F。 ls –a Linux上的文件以.开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示一般文件名外,连隐藏文件也会显示出来。 ls –l 该参…

Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示...

Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示 今天项目中要实现一个天气的预览,加载的信息很多,字段也很多,所以理清了一下思路,准备独立出来写一个总结&#xff0c…

C# WPF MVVM开发框架Caliburn.Micro 名称Transformer⑩①

使用名称TransformerNameTransformer是在Caliburn.Micro v1.1中引入的,它是ViewLocator和ViewModelLocator如何将类名映射到其伙伴角色的一个组成部分。虽然您可以覆盖这些服务上的各种函数来替换底层行为,但您的大多数需求都应该通过使用适当的NameTran…

史上最可怜的科学家:出生先天不足,家道中落吃不上饭,追个星丢工作,拜师被冤枉,写书又被烧,最后还被拖工资活活拖死了......

全世界只有3.14 % 的人关注了爆炸吧知识今天,小天来向各位模友介绍一个痴迷偶像正面刚的小迷弟吧。多病的贫家子,鲁莽的小迷弟1571年,开普勒在德国维尔镇呱呱落地了。作为一个善解人意的宝宝(胚胎),开普勒没…

[zz]为 Lua 绑定 C/C++ 对象

转载自: http://blog.codingnow.com/2013/01/binding_c_object_for_lua.html 如何绑定 C/C 对象到 Lua 里?通常是创建一个 userdata ,存放 C/C 对象指针,然后给 userdata 添加元表,用 index 元方法映射 C/C 中的对象方…

文本字符集转换

http://lqqnotes.blog.51cto.com/3329069/659886 拉取数据 在我opensuse下OK 产品的WIN下面乱码 # enca -L 现在文件的语言 -x 需要转换编码 需要转换编码的文件 查看文件编码jinlinux-gzy1:~> enca -d Downloads/store_sdb_ectools_regions_0211-3.csvDownloads/store_sdb…

php 身份认证服务,PHP的HTTP身份认证

PHP 的 HTTP 认证机制仅在 PHP 以 Apache 模块方式运行时才有效,因此该功能不适用于 CGI 版本。在 Apache 模块的 PHP 脚本中,可以用 header() 函数来向客户端浏览器发送“Authentication Required”信息,使其弹出一个用户名/密码输入窗口。当…

C# WPF MVVM开发框架Caliburn.Micro View / View Model 命名⑨

01—约定在收到Caliburn Micro中有关视图和ViewModel解析的反馈后,我们添加了新功能,以简化类型解析,同时保持驱动它的健壮的基于正则表达式的名称转换机制。为了更好地了解这些新功能以及类型解析通常如何在框架中工作,现在是详细…

rman归档删除

rman&#xff1a; delete [all] input 数据库oracle 11g 全备脚本如下&#xff1a;rman target / <<EOFrun {allocate channel t1 type disk; allocate channel t2 type disk; allocate channel t3 type disk; set limit channel t1 kbytes 4194304;set limit channel t…