文章目录

  • 1.图像大小旋转
  • 2.图像读写
  • 3.图像四倍减采样
  • 4.图像灰度量化
  • 5.灰度图像
  • 6.二进制图像
  • 7.RGB图像
  • 8.索引图象
  • 9.多帧图像
  • 10.图像邻域操作
  • 11.图像裁剪
  • 12.图像加法运算
  • 13.图像减法运算
  • 14.图像点运算
  • 15.图像乘法运算
  • 16.图像除法运算
  • 17.RGB转灰度
  • 18.RGB转索引
  • 19.灰度转索引
  • 20.索引转灰度
  • 21.索引转RGB
  • 22.灰度转二值
  • 23.索引转二值
  • 24.RGB转二值
  • 25.数值矩阵转换为灰度图像
  • 26.线性灰度变换
  • 27.分段线性灰度变换
  • 28.非线性灰度变换
  • 参考文献
  • 引用

1.图像大小旋转

I=imread('微信图片_20220429194904_512_512.bmp'); %读入图像Id = imresize(I,1.5); %放大 1.5 倍Ix = imresize(I,0.5); %缩小 0.5 倍Iz=imrotate(I,60,'bilinear','crop'); %逆时针旋转 60°Izz=imrotate(I,60,'bilinear','loose'); %逆时针旋转 60°figure,imshow(I),title('原图'); %原图figure,imshow(Id),title('放大 1.5'); %放大 1.5 倍figure,imshow(Ix),title('缩小 0.5'); %缩小 0.5 倍figure,imshow(Iz),title('逆时针旋转 60°'); %逆时针转 60°figure,imshow(Izz),title('逆时针旋转 60°'); %逆时针转 60

2.图像读写

I=imread('微信图片_20220429194904.jpg');J = imresize(I,[512 512]);imshow(I)figureimshow(J)imwrite(J,'微信图片_20220429194904_512_512.jpg','jpg');imwrite(J,'微信图片_20220429194904_512_512.bmp','bmp');imwrite(J,'微信图片_20220429194904_512_512.png','png');imwrite(J,'微信图片_20220429194904_512_512.tif','tif');

3.图像四倍减采样

I=imread('微信图片_20220429194904_512_512.bmp');[m,n]=size(I);mm=1;nn=1;for i=1:2:mfor j=1:2:nI1(mm,nn)=I(i,j);nn=nn+1;endmm=mm+1;nn=1;endfigure;imshow(I); title('原图');figure;imshow(I1);title('采样图');

4.图像灰度量化

I=imread('Lena.bmp');%将 256 级的图像转换成128级,64级,32级灰度图像%量化成128级A=(0.5)*I;A1=floor(A);%量化成64级B=(0.25)*I;B1=floor(B);%量化成32级C=(0.125)*I;C1=floor(C);figureimshow(I);figuresubplot(1,3,1),imshow(A1,[0,127]);title('128级灰度图像');subplot(1,3,2),imshow(B1,[0,63]);title('64级灰度图像');subplot(1,3,3),imshow(C1,[0,31]);title('32级灰度图像');

5.灰度图像

I=imread('Lena.bmp');imshow(I)J=filter2([1 2;-1 -2],I);figure,imshow(J,[]);

6.二进制图像

I=zeros(100,100);I(1:80,50:3:100)=1;imshow(I);I2=uint8(I);figure,imshow(I2)I3=I2~=0;figure,imshow(I3)whos;

7.RGB图像

I=imread('微信图片_20220429194904_512_512.bmp');imshow(I)figureimshow(I(:,:,1))% 显示第 1 个颜色分量figureimshow(I(:,:,1))% 显示第 1 个颜色分量figureimshow(I(:,:,3))% 显示第 3 个颜色分量

8.索引图象

load treesimshow(X)figureimshow(X,map)

9.多帧图像

I=uint8(zeros(128,128,1,27)); % 27 帧文件 mri.tif 初始化for i=1:27[I(:,:,:,i),map]=imread('mri.tif',i); % 读入每一帧endimshow(I(:,:,:,1),map); % 显示第 1 帧figure,imshow(I(:,:,:,10),map); % 显示第 10 帧figure,imshow(I(:,:,:,20),map); % 显示第 20 帧figure,imshow(I(:,:,:,27),map); % 显示第 27 帧

10.图像邻域操作

I=imread('Lena.bmp');f=inline('max(x(:))'); %构造复合函数I2=nlfilter(I,[16 16],f); %滑动邻域操作imshow(I)figure,imshow(I2)I3=imread('Lena.bmp');f=inline('uint8(round(mean2(x)*ones(size(x))))'); %构造复合函数I4=blkproc(I3,[16 16],f); %分离邻域操作figure,imshow(I3)figure,imshow(I4)

11.图像裁剪

I=imread('微信图片_20220429194904_512_512.bmp');imshow(I);I1=imcrop(I,[1 1 512 260]);figure,imshow(I1)

12.图像加法运算

I1=imread('Lena.bmp');imshow(I1)I2=imread('Barbara.bmp');figure,imshow(I2)Id=imadd(I1,I2);figure,imshow(Id)

13.图像减法运算

I=imread('rice.png');imshow(I)background = imopen(I,strel('disk',25)); %估计背景图像figure, imshow(background);I2=imsubtract(I,background); %从原图像中减去背景图像figure, imshow(I2)

14.图像点运算

I=imread('微信图片_20220429194904_512_512.bmp');figure,imshow(I)I=double(I); %转换为双精度类型I1=I*1.21+22;I1=uint8(I1); %转换为 uint8figure,imshow(I1)

15.图像乘法运算

I=imread('微信图片_20220429194904_512_512.bmp');I1=immultiply(I,2);I2=immultiply(I,0.5);subplot(131),imshow(I)subplot(132),imshow(I1)subplot(133),imshow(I2)

16.图像除法运算

I=imread('微信图片_20220429194904_512_512.bmp');I1=imdivide(I,1.6);figure,imshow(I);figure,imshow(I1);

17.RGB转灰度

X=imread('football.jpg'); %读取图像I=rgb2gray(X); %将RGB图像转换为灰度图像figuresubplot(121),imshow(X); %显示原图像subplot(122),imshow(I); %显示转换后灰度图像[X,map] = imread('trees.tif'); %读取图像newmap = rgb2gray(map); %将彩色颜色映射表转换为灰度颜色映射表figure subplot(121),imshow(X,map); %显示原图像subplot(122),imshow(X,newmap); %显示转换后灰度图像

18.RGB转索引

RGB = imread('football.jpg'); %读取图像[X1,map1]=rgb2ind(RGB,64); %将RGB图像转换成索引图像,颜色种数N是64种[X2,map2]=rgb2ind(RGB,0.2); %将RGB图像转换成索引图像,颜色种数N是216种map3= colorcube(128); %创建一个指定颜色数目的RGB颜色映射表X3=rgb2ind(RGB,map3);figure;subplot(131),imshow(X1,map1); %显示用最小方差法转换后索引图像subplot(132),imshow(X2,map2); %显示用均匀量化法转换后索引图像subplot(133),imshow(X3,map3); %显示用颜色近似法转换后索引图像

19.灰度转索引


I = imread(‘cameraman.tif’) %读取图像

[X,map]=gray2ind(I,38); %灰度图像向索引图像转换,N取8

figure

subplot(1,2,1),imshow(I); %显示原灰度图像

subplot(1,2,2),imshow(X, map); %显示N=8转换后索引图像

I = imread(‘coins.png’); %读取图像

X = grayslice(I,32); %将灰度图像转换为索引图像

figure

subplot(1,2,1),imshow(I); %显示原图像

subplot(1,2,2),imshow(X,jet(36));%jet(M)是相当于colormap,是一个M×3的数组

20.索引转灰度

[X,map]=imread('forest.tif');I = ind2gray(X,map); %将索引图像转换为灰度图像figure,imshow(X,map); %索引图像figure,imshow(I); %灰度图像

21.索引转RGB

[X,map]=imread('kids.tif');RGB=ind2rgb(X,map); %将索引图像转换为真彩色图像figure, imshow(X,map); %显示索引图像figure,imshow(RGB); %显示真彩色图像

22.灰度转二值

I=imread('rice.png');BW1=im2bw(I,0); %将灰度图像转换为二值图像,level值为0BW2=im2bw(I,0.3); %将灰度图像转换为二值图像,level值为0.3BW3=im2bw(I,0.5); %将灰度图像转换为二值图像,level值为0.5BW4=im2bw(I,0.7); %将灰度图像转换为二值图像,level值为0.7BW5=im2bw(I,1); %将灰度图像转换为二值图像,level值为1figure;subplot(231),imshow(I);subplot(232),imshow(BW1); %显示level=0转换后的二值图像subplot(233),imshow(BW2); %显示level=0.3转换后的二值图像subplot(234),imshow(BW3); %显示level=0.5转换后的二值图像subplot(235),imshow(BW4); %显示level=0.7转换后的二值图像subplot(236),imshow(BW5); %显示level=1转换后的二值图像

23.索引转二值

load trees;BW = im2bw(X,map,0.9); %将索引图像转换为二值图figuresubplot(1,2,1),imshow(X,map); %显示原索引图像subplot(1,2,2),imshow(BW); %显示转换后二值图像

24.RGB转二值

I=imread('pears.png'); %读取图像信息BW=im2bw(I,0.5); %将RGB图像转换为二值图像figure,subplot(121),imshow(I); %显示原图像subplot(122),imshow(BW); %显示转换后二值图像

25.数值矩阵转换为灰度图像

X=magic(256);I= mat2gray(X); %将矩阵I转换为灰度图像imshow(I); %显示转换后灰度图像

26.线性灰度变换

gamma=0.5; %设定调整线性度取值I=imread('peppers.png'); %读入要处理的图像,并赋值给IR=I; %将图像数据赋值给RR (:,:,2)=0; %将原图像变成单色图像,保留红色R(:,:,3)=0; R1=imadjust(R,[0.5 0.8],[0 1],gamma); %利用函数imadjust调整R的灰度,结果返回R1G=I; %将图像数据赋值给GG(:,:,1)=0; %将原图像变成单色图像,保留绿色G(:,:,3)=0;G1=imadjust(G,[0 0.3],[0 1],gamma); %利用函数imadjust调整G的灰度,结果返回G1B=I; %将图像数据赋值给BB(:,:,1)=0; %将原图像变成单色图像,保留蓝色B(:,:,2)=0;B1=imadjust(B,[0 0.3],[0 1],gamma); %利用函数imadjust调整B的灰度,结果返回B1I1=R1+G1+B1; %求变换后的RGB图像figure(1)subplot(121),imshow(R);%绘制R、R1、G、G1、B、B1图像,观察线性灰度变换结果subplot(122),imshow(R1);figure(2);subplot(121),imshow(G);subplot(122),imshow(G1);figure(3);subplot(121),imshow(B);subplot(122),imshow(B1);figure(4);subplot(121),imshow(I);subplot(122),imshow(I1);

27.分段线性灰度变换

R=imread('微信图片_20220429194904_512_512.bmp');%读入原图像,赋值给RJ=rgb2gray(R); %将彩色图像数据R转换为灰度图像数据J[M,N]=size(J); %获得灰度图像数据J的行列数M,Nx=1;y=1; %定义行索引变量x、列索引变量yfor x=1:Mfor y=1:Nif (J(x,y)<=35);     %对灰度图像J进行分段处理,处理后的结果返回给矩阵HH(x,y)=J(x,y)*10;elseif(J(x,y)>35&J(x,y)<=75);H(x,y)=(10/7)*[J(x,y)-5]+50;else(J(x,y)>75);H(x,y)=(105/180)*[J(x,y)-75]+150;endendendsubplot(121),imshow(J)subplot(122),imshow(H);

28.非线性灰度变换

R=imread('微信图片_20220429194904_512_512.bmp'); %读入图像,赋值给RG=rgb2gray(R); %转成灰度图像G2=double(G); %数据类型转换成双精度O=(log(G2+1))/10; %进行基于常用对数的非线性灰度变换subplot(121),imshow(G);subplot(122),imshow(O);

参考文献

[1]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.

引用

杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
https://www.icourse163.org/course/FJNU-1003147002?outVendor=zw_mooc_pclszykctj_

以上内容仅作为个人学习笔记,无商业行为。

图像处理matlab基础操作相关推荐

  1. MATLAB基础操作--命令窗口

    MATLAB基础操作–命令窗口 常用的赋值运算符-'='对变量进行赋值 x=9-5 x = 4 x-8=9 x-8=9 ↑ 错误: '=' 运算符的使用不正确.要为变量赋值,请使用 '='.要比较值是 ...

  2. MATLAB基础操作,矩阵乘法、数组矩阵索引、最大最小运算符、零矩阵/随机矩阵/单位矩阵的生成、log函数、Inf和NaN的含义,语句过长用连接符换行、逻辑运算符以及区别

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.矩阵相乘 二.矩阵生成 1.直接输入 2.单位矩阵 3.全零矩阵 2.全一矩阵 2.随机矩阵 三.矩阵操作 四.矩 ...

  3. MatLab基础操作

    命令行窗口 使用 MATLAB 时,可发出创建变量和调用函数的命令.例如,通过在命令行中键入以下语句来创建名为 a 的变量: >> a = 1 MATLAB 将变量 a 添加到工作区,并在 ...

  4. Matlab基础操作学习笔记

    文章目录 一.数据类型 1.常见的MatLab数据类型: 2.数据类型转换: 二.函数 1.脚本 2.函数 三.矩阵与数组 1.矩阵 2.数组 四.运算符 1.算数运算符 2.关系运算符 3.逻辑运算 ...

  5. MATLAB--数字图像处理--图像基础操作

    1.图像信息查询 –直接调用imfinfo()函数 调用格式: (1)info=imfinfo('filename.fmt'); 图片路径和MATLAB工作路径一致,获取指定文件filename的相关 ...

  6. MATLAB基础操作之中英文切换

    这里写自定义目录标题 matlab实现界面中英文切换 中文修改成英文 英文修改成中文 matlab实现界面中英文切换 刚安装好matlab2022a,互相学习!需要安装包的可以留言,必回复. 中文修改 ...

  7. 【Matlab 图像】图像基础操作

    图像基础操作 读取图片 读取视频 读取图片 % 读取图像 Img = imread('test2.png'); subplot(2,2,1); imshow(Img); title('原图(RGB图) ...

  8. matlab基础总结与图像处理应用(上)

    Q: how to improve my coding force level A: 我会找个教程/文档例子,把代码逐行敲一遍,感觉就像是我自己写的一样,一旦完成,我会从头重写一遍,添加注释,并根据自 ...

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

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

最新文章

  1. 图之典—可视化图表的词典
  2. SQL SERVER中求上月、本月和下月的第一天和最后一天[转]
  3. 百度地图android自定义文字,androidsdk | 百度地图API SDK
  4. 瑞典皇家理工学院工程实例:Sound localization
  5. Oracle关于java.sql.SQLException常见错误集锦
  6. boost:is_straight_line_drawing用法的测试程序
  7. 1113:不与最大数相同的数字之和
  8. [书目20071127]图书 时间陷阱 目录
  9. codevs 1729 单词查找树
  10. 测试python安装成功_Python在Windows上安装配置测试
  11. 以太网的分层架构_以太网矩阵(Ethernet Fabric)简介
  12. qt 无框dockwidget_QT解决通过菜单方式无法让QDockWidget 显示和隐藏
  13. ios获取设备的唯一标识mac address
  14. Win10系统winload.efi丢失或损坏怎么办?修复步骤(以联想笔记本为例)
  15. Linux入门基础——常用命令(四)
  16. 计算机中容量单位B、KB、MB、GB和TB的关系
  17. web平台使用threejs实现三维视频融合的思路
  18. 号码锁 Combination Lock [USACO1.4]
  19. 网络服务NFS文件共享
  20. Mysql三、数据库面试题+sql语句解析

热门文章

  1. SOME/IP的车载网络应用
  2. UnityShader - 屏幕特效 - 刺目光亮(Bloom)
  3. 图11——判断图中是否为一棵树
  4. 图像标注开源小工具-labelImg
  5. 554砖墙(哈希表)
  6. 【机器学习】用特征量重要度(feature importance)解释模型靠谱么?怎么才能算出更靠谱的重要度?
  7. Using a complex-baseband architecture in FMCW radar systems
  8. 8个步骤让你远离服务器被黑
  9. Python 随机数与随机数种子
  10. Python数据分析与机器学习实战<十>贝叶斯算法