--

%% 学习目标:学习关于图像的基本操作

%% 通过抖动来增强图像的的色彩对比度
clear all;
close all;
I = imread('cameraman.tif');%读取灰度图像
BW = dither(I);%通过抖动转换为二值图像来增强图像的色彩对比度
subplot(,,);%将多个图片显示在同一个窗口,subplot(m,n,p)。
imshow(I);
subplot(,,);
imshow(BW); %% 获取图像信息
clear all;
close all;
info = imfinfo('trees.tif','tif');%获取图像信息
disp(info);%输出图像信息 %% 改变图像格式
clear all;
close all;
RGB = imread('trees.tif','tif');%读取一个RGB图片
imwrite(RGB,'Mytrees.png','png');%将tif格式图片转换为png格式
tupian = imread('Mytrees.png');
figure;
imshow(tupian); %% 读取图像中的某些帧
clear all;
close all;
I1 = imread('mri.tif',);%读取第5帧
I20 = imread('mri.tif',);
figure;
subplot(,,);
imshow(I1);
subplot(,,);
imshow(I20); %% which mri.tif 查看图像位置 %% 同时显示多帧图像
clear all;
close all;
mri = uint8(zeros(,,,));
for i = : %25帧
[mri(:,:,:,i),map] = imread('mri.tif',i);
end
montage(mri,map);%同时显示多帧图像 %% 将多帧图像转换为电影
clear all;
close all;
mri = uint8(zeros(,,,));
for i = :
[mri(:,:,:,i),map] = imread('mri.tif',i);
end
mov = immovie(mri,map);%把图像转换为动画
implay(mov);%显示动画 %% 图像相加 如果大于255就设置为255
clear all;
close all;
I = imread('rice.png');
J = imread('cameraman.tif');
K = imadd(I,J,'uint16');
imshow(K,[]); %% 图像相减,小于0则设置为0, 0到255 减去一个常数颜色更深
clear all;
close all;
I = imread('cameraman.tif');
J = imsubtract(I,);%减去90 减的越大,图像越暗(0表黑色嘛)
imshow(J); %% 图像相乘
clear all;
close all;
I = imread('cameraman.tif','tif');
J = immultiply(I,0.6);%乘0.(小于1),变暗
subplot();
imshow(I);
subplot();
imshow(J); %% 图像相除 维数要一样
clear all;
close all;
X = uint8([ ; ]);%X and Y 都是2*3的矩阵
Y = uint8([ ; ]);
Z = imdivide(X,Y);% X/Y
disp(Z); %% 两幅图像的绝对差异
clear all;
close all;
I = imread('cameraman.tif','tif');
J = uint8(filter2(fspecial('gaussian'),I)); % 对图像进行滤波
K = imabsdiff(I,J);%获取滤波图像和之前图像的差异
subplot();
imshow(I);
subplot();
imshow(K,[]);%加[]是为了显示清晰 %% fspecial:用于建立预定义的滤波算子或者说产生预定义滤波器

原文:https://blog.csdn.net/KimLK/article/details/78064384

--

Matlab基础:关于图像的基本操作的更多相关文章

  1. MATLAB中图像的基本操作

    MATLAB中图像的基本操作 1.读取.显示图片 MATLAB中提供了immread()与imshow()函数读取和显示图片.其中读取函数imread()原型: imread: A = imread( ...

  2. Matlab - 基础知识

    Matlab R2016a完全自学一本通 记在前面: (1)函数中:dim=1 按列:dim=2 按行 (2)这本书很垃圾,不建议买. (3)在数据库连接中,用两个单引号表示字符串,千万不能用双引号 ...

  3. matlab基础教程——根据Andrew Ng的machine learning整理

    matlab基础教程--根据Andrew Ng的machine learning整理 基本运算 算数运算 逻辑运算 格式化输出 小数位全局修改 向量和矩阵运算 矩阵操作 申明一个矩阵或向量 快速建立一 ...

  4. 数字图像处理学习笔记之一 DIP绪论与MATLAB基础

    写在前面的话 数字图像处理系列的学习笔记是作者结合上海大学计算机学院<数字图像处理>课程的学习所做的笔记,使用参考书籍为<冈萨雷斯数字图像处理(第二版)(MATLAB版)>,同 ...

  5. Matlab基础

    基本运算: 一,矩阵的生成 clc ; clear all; close all; 1.直接输入 A = [ 1 ,2 ,3,4;2,3,4,5;3,4,5,6] A = 1 2 3 4 2 3 4 ...

  6. 使用matlab批量处理图像后在指定文件夹存储

    使用matlab批量处理图像后在指定文件夹存储 clear;clc;close all; Files=dir('D:\文件及下载相关\文档\MATLAB\postgraduate\Kodak\*.jp ...

  7. Matlab基础之单元数组和结构数组

    Matlab基础之单元数组和结构数组 前言: 单元数组和结构数组是一种新的数据类型,能将不同类型.不同维数的数组组合在一起,从而方便对不同的数据类型方便管理和维护. 如上图所示的2*2矩阵中,分别存储 ...

  8. Matlab--从入门到精通(chapter2 matlab 基础知识)

    Chapter2 Matlab 基础知识 1.基本数学运算符号 注:矩阵的右除是一般意义的除法,但是左除具有对称意义,即A./B=B.\A 2. 命令行中的常用标点 3.常见的操作命令 4.输出数据显 ...

  9. Matlab高级教程_第一篇:Matlab基础知识提炼_02

    第三节:变量 正如其他编程软件一样. 都是通过变量来传递和交换数据的,这是基础.按照<MATLAB基础知识提炼>这篇文章先介绍变量比较合适.编程语言不外乎包括两部分:数据和结构.应该先把数 ...

随机推荐

  1. Mysql踩坑 自动更新的时间只允许有一个

    执行如下SQL创建表: CREATE TABLE aa ( a INT, b TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, c TIMESTAMP DEFAULT CU ...

  2. PHP message: PHP Fatal error: Allowed memory size of 134217728 bytes exhausted 错误

    php运行一段时间后,部分页面打不开,查看nginx日志里面一直在报PHP message: PHP Fatal error:  Allowed memory size of 134217728 by ...

  3. Codeforces 348 D - Turtles Lindström–Gessel–Viennot lemma

    #include<bits/stdc++.h> using namespace std; #define y1 y11 #define fi first #define se second ...

  4. HDU 4862 Jump 任意起点最大权K链不相交覆盖

    你可以从任意起点开始起跳最多K次 每次跳你可以选择往右或者往下跳 从(x1,y1)跳到(x2,y2) 消耗的能量是曼哈顿距离-1 但是如果每次跳的起点和终点格子里的数字是相同的为X的话你会得到X能量 ...

  5. centos6.5上安装git

    亲测有效 https://blog.csdn.net/wxy540843763/article/details/80197301

  6. TCP三次握手,四次回收的每一步的解释

    三次握手 第一次握手:主机A发送位码为syn=1,随机产生seq number=10001的数据包到服务器,主机B由SYN=1知道,A要求建立联机,此时状态为SYN_SENT: 第二次握手:主机B收到 ...

  7. 远程jupyter+pycharm配置

    前言 作为一个数据工程师,最喜欢的事情就是不停的在现实的服务端环境调试代码的参数.我们在本地的环境与生产的状况决然不同,我们一开始在本地写代码测试再部署到服务端的三板斧就不适用了. 最好的方式可以直接 ...

  8. Spring Data JPA 提供的各种Repository接口作用

    各种Repository接口继承关系: Repository : public interface UserRepository extends Repository<User, Integer ...

  9. TDOA基站 之 时间同步

    TDOA 和 TWR相比,标签可以用最少的信息来定位,但是对于基站要求很高,需要“时间同步”. 这也是TDOA算法的核心部分,很多套件对此讳莫如深,希望能沟通过本文使读者能对TODA同步有一定初步了解 ...

  10. ajax当有返回值时

    当ajax方法里面有return 值时,无法使用两种精简版的只能使用经典版 因为ajax 方法时异步的,正确的方式时使用经典版中async:false 设置为同步 默认为true  是异步 正确代码如 ...