效果如图所示:

Matlab里的imresize函数可以对图像放大和缩小,但这同时也会改变图像矩阵的大小,如果想要上图所示的结果,需要再进行一些处理,处理代码如下所示。

clc
close all;% 从当前目录下打开一张图片
[filename, filepath] = uigetfile({'*.jpg;*.ppm; jpeg *.;*.bmp;*.png'},'Choose Input Image');
if isequal(filename,0) || isequal(filepath,0)disp('User pressed cancel')return
elsefullfp = fullfile(filepath, filename);
end
image = imread(fullfp);   %代表要处理的图像
mysize = size(image);
%把图像转换成灰度图
if numel(mysize) > 2image = rgb2gray(image);
end
r_e = mysize(1);
c_e = mysize(2);
subplot(2,3,1); imshow(image,[]); title('Input Image');temp1 = imresize(image,2); %表示把图像放大到原来的两倍,但同时图像矩阵也是变成了原来的两倍
[r_t1,c_t1] = size(temp1);
s = temp1(round(r_t1/2)-floor(r_e/2) : round(r_t1/2)+ceil(r_e/2)-1, round(c_t1/2)-floor(c_e/2) : round(c_t1/2)+ceil(c_e/2)-1);
subplot(2,3,2); imshow(s,[]); title('Magnification');temp2 = imresize(image,0.5); %表示把图像缩小到原来的一半,但同时图像矩阵也变成了原来的一半
[r_t2,c_t2] = size(temp2);
temp3 = zeros(r_e,c_e);
temp3(round(r_e/2)-floor(r_t2/2) : round(r_e/2)+ceil(r_t2/2)-1, round(c_e/2)-floor(c_t2/2) : round(c_e/2)+ceil(c_t2/2)-1) = temp2;
ss = temp3;
subplot(2,3,3); imshow(ss,[]); title('Minification');

ps:直接调用imresize函数而不进行处理的效果如下图所示:

看起来图像没怎么变化,但存储图像的矩阵已经变大或变小了,如下图所示:

image为原始图像矩阵,temp1为放大后的图像矩阵,temp2为缩小后的图像矩阵。

Matlab 保持图像矩阵大小不变对图像放大和缩小相关推荐

  1. 安卓+ios系统--手机端页面自适应手机屏幕大小,禁止手动放大和缩小VUE

    项目需求 手机端,页面自适应手机屏幕大小,不能手动放大和缩小. 1.代码 在index.html中加入下面的代码: <!-- 手机端页面自适应手机大小,禁止手动放大 --> <met ...

  2. c#创建画布_C# – 调整图像画布大小(保留源图像的原始像素尺寸)

    我的目标是拍摄一个图像文件,并将尺寸增加到下一次的两倍,同时保持像素(也就是不缩放源图像).因此,基本上最终的结果将是原始图像,加上跨越图像右下角的额外的白色空间,因此总尺寸是二的幂. 下面是我现在使 ...

  3. iOS-84-WKWebView字体大小颜色及内容放大或缩小显示

    只需在该代理方法加上这个就可以了,直接上代码: // WKNavigationDelegate 页面加载完成之后调用 - (void)webView:(WKWebView *)webView didF ...

  4. OpenCV精进之路(九):图像轮廓和图像分割修复——图像修复技术

    在实际应用中,我们的图像常常会被噪声腐蚀,这些噪声或是镜头上的灰尘或水滴,或是旧照片的划痕,或者是图像遭到人为的涂画(比如马赛克)或者图像的部分本身已经损坏.如果我们想让这些受到破坏的额图片尽可能恢复 ...

  5. matlab 图像基本矩阵,MATLAB基本的使用方法归纳(图像,矩阵及函数)

    读取图像:用imread函数读取图像文件,文件格式可以是TIFF.JPEG.GIF.BMP.PNG等.比如 >> f = imread('chestxray.jpg'); 读进来的图像数据 ...

  6. matlab矩阵方块网络着色imshow_matlab中用imshow()显示图像与图像矩阵的数据类型的关系...

    在matlab中,我们常使用imshow()函数来显示图像,而此时的图像矩阵可能经过了某种运算.在matlab中,为了保证精度,经过了运算的图像矩阵I其数据类型会从unit8型变成double型.如果 ...

  7. MATLAB技术沙龙之如何批量处理图像的大小

    下面来介绍一下在MATLAB中如何批量统一处理多张图片的大小,前提是位于同一文件夹路径下,具体如下: 1.打开MATLAB主界面,在其编辑器主界面写入下列代码: file_path = 'D:\dyq ...

  8. matlab修改图像分辨率_matlab imresize 改变图像大小

    功能:改变图像的大小. 用法:B = imresize(A,m) B = imresize(A,m,method) B = imresize(A,[mrows ncols],method) B = i ...

  9. 批量处理图像的大小-MATLAB

    本人菜鸟一枚,刚接触图像处理,为了批量修改自己的图像的大小,查找了一些资料,经过自己的修改,终于取得了成功.特意把代码奉献出来,希望对大家有所帮助.代码如下: file_path = 'D:\trai ...

最新文章

  1. 某程序员为方便老婆工作,写了一些小工具给老婆用!如今老婆要离职,公司老板却要求必须把工具留下!网友:跟他收费!...
  2. 如何快速融入团队并成为团队核心?(九)
  3. iframe中的奇怪现象
  4. HTML:Browser 对象
  5. 《JAVA练习题目2》 输入十个学生的考试成绩,将及格学生的成绩从高到低排序输出。
  6. python与excel的差别-python对Excel按条件进行内容补充(推荐)
  7. NAND FLASH 和NOR FLASH工作原理
  8. 3.4 多个例子中的向量化
  9. 剑指offer(C++)-JZ77:按之字形顺序打印二叉树(数据结构-树)
  10. Asp.Net WebAPI传递json对象、后台手动接收参数
  11. 基于FPGA的DS18B20数字温度传感器测温实例
  12. 刷卡芯片CI520可直接PIN对PIN替换CV520支持SPI通讯接口
  13. ps4怎么用html,ps4改dns教程 ps4怎么设置dns
  14. 图数据库查询语言Cypher
  15. Git分支 合并 暂时储藏分支 标签 链接多个仓库
  16. MySQL使用Mycat实现分库分表-读写分离
  17. [css] 【转载】 精简高效的CSS命名准则/方法
  18. Vue + element-ui合并单元格后,checkbox多选单选取值问题
  19. 地理信息系统专业考研 GIS专业考研 名词解释大全[转]
  20. ibatis oracle批量insert,ibatis 批量插入oracle总结

热门文章

  1. pythonshutil模块源码_Python shutil模块
  2. 阿里云企业邮箱免费版、标准版、集团版和尊享版区别
  3. nyoj523 亡命逃窜
  4. 10米分辨率土地利用图LUCC的下载、出图
  5. webstorm 激活
  6. ESP32-C3入门教程 网络篇⑨——基于esp_https_ota实现史上最简单的ESP32 OTA远程固件升级功能
  7. linux普通用户监听1024以下的端口(80、443)
  8. jQuery的属性样式
  9. 【Axure 教程】中继器(进阶篇)
  10. 有人就有江湖 人就是江湖