使用matlab进行图像处理的一些常用操作和tip
本人还是习惯使用Python语言,有时候不得不使用matlab的时候就变得举步维艰,下面记录一下使用matlab进行图像处理的一些常用操作以及代码,方便之后查阅:
1. 图像的读取
%% 读取原图像
im = imread('Alan_Turing.jpg');
im = double(im);
图像需要使用imread来读取,然后图像通常会被转化成double类型,以便后续的操作。
2. 读取图像的参数
%% 读取图像的参数
[m,n] = size(im);
A = zeros(m,n);
matlab函数的返回值有多个的时候,要使用[m, n]这种风格来承接,如果不想接受某个返回,可用~波浪线替代
3. matlab的循环操作
%% For循环
for i = 1:num
~~~~~~
end
matlab中可没有那么方便的iteration操作,for 循环的风格是上面这样的。
4. matlab写入图像
imwrite(uint8(temp), sprintf('imgs/%d.jpg', i));
matlab写入图像很简单,使用imwrite函数,前面是uint8的矩阵,后面是路径。注意了,这里使用了sprintf来弄出格式化的字符串文件名。
5. matlab作图拼图
%% 作图拼图
figure(1);
imshow(uint8(im));title('原图');axis on figure(2);
subplot(241); imshow(uint8(squeeze(im_list(1,:,:)))); title('k=2'); axis off
subplot(242); imshow(uint8(squeeze(im_list(2,:,:)))); title('k=4'); axis off
figure()函数就是生成画布的啦,然后使用画笔imshow在画布上作图,title,axis on(off),xlabel,ylablel分别指定图名,是否画坐标轴刻度,x,y打什么标签。
当有多个子图的时候需要使用subplot来生成子图,注意这里imshow的都是uint8格式(因为我们是RGB呀)。squeeze是去除维度为1的维。以及一个数组的表示,Python中是A[1,2,3],matlab中则是A(1,2,3)。
使用matlab进行图像处理的一些常用操作和tip的更多相关文章
- c++ MFC图像处理CImage类常用操作代码
原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9598974.html MFC图像处理CImage类常用操作 CImage类头文件为#inclu ...
- Matlab计算机视觉/图像处理工具箱推荐
Matlab计算机视觉/图像处理工具箱推荐 转载http://cvnote.info/matlab-cv-ip-toolbox/ 计算机视觉/图像处理研究中经常要用到Matlab,虽然其自带了图像处理 ...
- MATLAB数字图像处理(二)图像增强
1 图像增强 1.1 直方图均衡化 对于灰度图像,可以使用直方图均衡化的方法使得原图像的灰度直方图修正为均匀的直方图. 代码如下: I2=histeq(I1); ...
- 第一章 MATLAB数字图像处理编程基础
1 为什么用MATLAB MATLAB的图像处理工具箱(Image Processing Toolbox,IPT)封装了一系列不同图像处理需求的标准算法,它们都是通过直接或间接调用MATLAB中矩阵运 ...
- 使用MATLAB对图像处理的几种方法(下)
试验报告 一.试验原理: 图像点处理是图像处理系列的基础,主要用于让我们熟悉Matlab图像处理的编程环境.灰度线性变换和灰度拉伸是对像素灰度值的变换操作,直方图是对像素灰度值的统计,直方图均衡是对 ...
- Atitit 图像处理 常用8大滤镜效果 Jhlabs 图像处理类库 java常用图像处理类库
Atitit 图像处理 常用8大滤镜效果 Jhlabs 图像处理类库 java常用图像处理类库1.1. 5种常用的Photoshop滤镜,分别针对照片的曝光.风格色调.黑白照片处理.锐利度.降噪这五大 ...
- 【三】用Markdown写blog的常用操作
本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...
- php模拟数据库常用操作效果
test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...
- Mac OS X常用操作入门指南
前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右) =鼠标左键 control+按下 ...
随机推荐
- WordPress 获取文章内容页特色图像地址
WordPress获取特色图像地址主要需要用到两个函数get_post_thumbnail_id和wp_get_attachment_image_src.下面是分别获取小.中.大.完整.指定图片规格的 ...
- CPU缓存学习及C6678缓存使用总结(知识归纳)
作者注: 1.本篇博客内容是本人在学习cpu缓存原理时进行的学习总结,参考了多处相关资源(书籍,视频,知乎回答等),参考出处标注在内容最后. 2.由于本篇内容的编辑工作在印象笔记完成,输出的PDF文件 ...
- tomcat漏洞利用总结
一.后台war包getshell 漏洞利用: tomcat在conf/tomcat-users.xml配置用户权限 <?xml version="1.0" encoding= ...
- JavaScript 引用数据类型
目录 1. 问题描述 2. 原因分析 3. React 中的引用数据类型 4. 业务场景 5. 参考资料 1. 问题描述 今天在写一个代码题时候, 有一个BUG 导致自己停滞好久, 该BUG 可以描述 ...
- ffmpeg转码步骤源码实现的一点点浅析
ffmpeg转码实现的一点点浅析 ffmpeg转码过程对解码的处理封装在process_input()中(process_input()->decode_video()->decode() ...
- 面试题: SpringBoot 的自动配置原理
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 3.Spring Boot 的自动配置原理 package com.mmall; import org. ...
- JavaSE (六)面向对象 -- 类的结构
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 目录 一.属性(变量) 1.变量的分类: 二.方法 1.例子: 2.格式: 3.方法的说明: 4.ret ...
- WEB前端程序员需要的网站整理
前端学习资源实在是又多又广,在这样的一个知识的海洋里,我们像一块海绵一样吸收,想要快速提高效率,平时的总结不可缺少,以下总结了一些,排版自我感觉良好,推送出来. 一.插件类网站 jQuery插件库:h ...
- Java实现 LeetCode 667 优美的排列 II(暴力)
667. 优美的排列 II 给定两个整数 n 和 k,你需要实现一个数组,这个数组包含从 1 到 n 的 n 个不同整数,同时满足以下条件: ① 如果这个数组是 [a1, a2, a3, - , an ...
- Java实现 LeetCode 665 非递减数列(暴力)
665. 非递减数列 给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列. 我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 < ...