博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《数字图像处理》冈萨雷斯学习笔记1:基本原理
阅读量:5942 次
发布时间:2019-06-19

本文共 1955 字,大约阅读时间需要 6 分钟。

一、图像的读取和显示

A=imread(FILENAME,FMT)

 

f = imread('D:\myimage\chestxray.jpg');

 

二、图像的写入

inwrite(A,FILENAME,FMT)

 

inwrite(f,'patient10_run1.tif')

只使用于JPEG图像

 

 

imwrite(f,'filename.jpg','quality',q)

三、图像的显示

 

 

imshow(f,[low high])figure; %创建一个新窗口subplot(m,n,p);%打开一个有m行n列图像%位置的窗口,并将焦点位于第p个位置上。%%=======================figure;subplot(m,n,p);inshow(f);

四、图像格式的转换

 

im2uint8     将图像装换成uint8类型   将输入中所有小于0的值设置为0,大于1的值设置为255,其他值乘以255.

im2uint16   将图像装换成uint16类型

rgb2gray    从RGB图创建灰度图,存储类型不变。

im2bw(f,T) 通过阈值处理,将一幅亮度图像转换成一幅二值图像g。

im2double  将图像转换成double类型(Matlab中所有的数值计算都可用double类来进行,所以它也是图像处理应用中最常见使用的数据类)

mat2gray   讲一个矩阵转换成一个强度图(但是什么叫强度图呢?)0对应的是黑色,1对应的是白色。

补充知识点:

1、TIFF 加标识的图像文件格式   .tif   .tiff

2、当用imshow显示另一幅图像g时,Matlab会再屏幕上用新图像替换旧图像,为了保持第一幅图像并同时显示第二幅图像,可以使用figure函数。

 

figure,imshow(g)

3、图像的类型:亮度图像、二值图像、索引图像、RGB图像。

 

4、若v是一个向量,则v(:)产生一个列向量,v(1:end)产生一个行向量。

5、ture(M,N)生成一个大小为M*N的logical类矩阵,其元素为1.

     false(M,N)生成一个大小为M*N的logical类矩阵,其元素为0.

6、rand(M,N)生成一个大小为M*N的矩阵,矩阵中元素都在区间[0,1]中均匀分布的随机数。

     randn(M,N)生成一个大小为M*N的矩阵,矩阵中元素是正态分布的随机数,随机数的均值是0,方差是1.

7、函数定义:function[outputs]=name(inputs) 注意输出变量必须位于方括号内,而输入变量必须位于圆括号内。

8、算数运算符 A*B表示矩阵乘法,而A.*B则表示数组乘法。

9、B=A指的仅仅是做一个B等于A的“记录”,但实际上并不将数据复制到B。记住MATLAB没有复制信息这一功能。

10、all函数:检测矩阵中是否全为非零元素,如果是,则返回1,否则,返回0。

       any函数:检测矩阵中是否有非零元素,如果有,则返回1,否则,返回0。

11、可以用whos f 来查看图片的信息。

12、f(x,y)=Asin(ux+vy)    x=0,1,2……,M-1   y=0,1,2……,N-1 生成该图像

 

%First implement using for loopsticfor r = 1:M    ux = u*(r-1);    for c = 1:N        vy = v*(c-1);        f(r,c) = A*sin(ux+cy);    endendt1 = toc;                %End timing%Now implement using vectorization. call the image gtic    %start timingr = 0:M-1;c = 0:N-1;[C,R] = meshgrid(c,r);   %将行向量c,r指定的域变换成数组C,Rg = A*sin(u*R + v*C);t2 = toc;                %End timing%compute the ratio of the two timesrt = t1/(t2 + eps);[rt,f,g] = twodsin(1,1/(4*pi),1/(4*pi),512,512);g = mat2gray(g);imshow(g)

向量化循环效率更高。

 

12、从给定图像中提取子图像,提取大小为m*n且其左上角坐标为(rx,cy)的区域s

 

rowhigh = rx+m-1;   %Matlab中图像的原点在(1,1)处colhigh = cy+n-1;s = f (rx:rowhigh,cy:colhigh);

 

 

转载地址:http://skqtx.baihongyu.com/

你可能感兴趣的文章
基础复习-算法设计基础 | 复杂度计算
查看>>
debian、ubuntu系统下,常用的下载工具
查看>>
带以太网的MicroPython开发板:TPYBoardv201温湿度上传实例
查看>>
如何解压缩后缀名为zip.001,zip.002等的文件
查看>>
OSGI企业应用开发(十二)OSGI Web应用开发(一)
查看>>
Python 以指定概率获取元素
查看>>
微信公众平台图文教程(二) 群发功能和素材管理
查看>>
关于System.Collections空间
查看>>
Centos下基于Hadoop安装Spark(分布式)
查看>>
Centos 7.5 部署DNS
查看>>
yum简介
查看>>
cp讲解
查看>>
MariaDB Galera Cluster 部署(如何快速部署MariaDB集群)
查看>>
如何在 Swift 语言下使用 iOS Charts API 制作漂亮图表?
查看>>
论代码审查的重要性
查看>>
「docker实战篇」python的docker爬虫技术-导学(一)
查看>>
如何确定一个网站是用Wordpress开发的
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
wdcp 安装
查看>>