当前位置: 首页 > news >正文

Matlab基础:关于图像的基本操作

--

%% 学习目标:学习关于图像的基本操作
 
%% 通过抖动来增强图像的的色彩对比度
clear all;
close all;
I = imread('cameraman.tif');%读取灰度图像
BW = dither(I);%通过抖动转换为二值图像来增强图像的色彩对比度
subplot(1,2,1);%将多个图片显示在同一个窗口,subplot(m,n,p)。
imshow(I);
subplot(1,2,2);
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);%读取第5帧
I20 = imread('mri.tif',25);
figure;
subplot(1,2,1);
imshow(I1);
subplot(1,2,2);
imshow(I20);
 
%% which mri.tif 查看图像位置
 
%% 同时显示多帧图像
clear all;
close all;
mri = uint8(zeros(128,128,1,25));
for i = 1:25  %25帧
    [mri(:,:,:,i),map] = imread('mri.tif',i);
end
montage(mri,map);%同时显示多帧图像
 
%% 将多帧图像转换为电影
clear all;
close all;
mri = uint8(zeros(128,128,1,25));
for i = 1 : 25
    [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);%减去90  减的越大,图像越暗(0表黑色嘛)
imshow(J);
 
%% 图像相乘
clear all;
close all;
I = imread('cameraman.tif','tif');
J = immultiply(I,0.6);%乘0.6(小于1),变暗
subplot(121);
imshow(I);
subplot(122);
imshow(J);
 
%% 图像相除  维数要一样
clear all;
close all;
X = uint8([222 50 21; 56 77 89]);%X and Y 都是2*3的矩阵
Y = uint8([66 66 66; 66 66 66]);
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(121);
imshow(I);
subplot(122);
imshow(K,[]);%加[]是为了显示清晰
 
%% fspecial:用于建立预定义的滤波算子或者说产生预定义滤波器

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

 

--

转载于:https://www.cnblogs.com/Ph-one/p/11516811.html

相关文章:

  • 查看当前Ubuntu系统的版本
  • ubuntu12.04 64位安装opencv-2.4.9
  • gcc 与 g++的区别
  • Linux中显示系统中USB信息的lsusb命令
  • uboot自定义添加命令
  • uboot移植spi驱动
  • 训练一个神经网络 能让她认得我
  • Matlab注释的几个方法
  • Matlab 图像平移、旋转、缩放、镜像
  • 调整图像大小调整图片大小
  • matlab图像灰度调整——imadjust函数的使用
  • Matlab实现直方图均衡化
  • 图像处理之图像的平滑与锐化
  • Matlab常用函数
  • 空间域平滑滤波器
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • JavaScript 一些 DOM 的知识点
  • JavaScript异步流程控制的前世今生
  • mysql 数据库四种事务隔离级别
  • React的组件模式
  • RxJS: 简单入门
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • windows下如何用phpstorm同步测试服务器
  • Xmanager 远程桌面 CentOS 7
  • 测试如何在敏捷团队中工作?
  • 对象引论
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 每天一个设计模式之命令模式
  • 使用 Docker 部署 Spring Boot项目
  • 手写双向链表LinkedList的几个常用功能
  • 线性表及其算法(java实现)
  • 延迟脚本的方式
  • 一道面试题引发的“血案”
  • 中文输入法与React文本输入框的问题与解决方案
  • MPAndroidChart 教程:Y轴 YAxis
  • ​ssh免密码登录设置及问题总结
  • #ifdef 的技巧用法
  • (4)logging(日志模块)
  • (poj1.3.2)1791(构造法模拟)
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (六)Hibernate的二级缓存
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (转) Android中ViewStub组件使用
  • (转) Face-Resources
  • .form文件_SSM框架文件上传篇
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • ??在JSP中,java和JavaScript如何交互?
  • @Autowired注解的实现原理
  • @JsonFormat与@DateTimeFormat注解的使用
  • [APUE]进程关系(下)
  • [BIZ] - 1.金融交易系统特点