MATLAB中图像的基本操作

MATLAB中图像的基本操作

1、读取、显示图片

MATLAB中提供了immread()与imshow()函数读取和显示图片。其中读取函数imread()原型:

imread:
A = imread(filename, fmt)

A是结构体名,用来存储读入的图像数据。filename是读取的文件名,文件名要用”括起来。fmt是读取文件的类型如:jpg、png等等,这个参数可以不输入,由MATLAB自动判断。 
显示函数imshow()原型:

imshow:
imshow(I)

I为读取后保存在MATLAB中的结构体名。 
程序实例:  

A=imread(‘1.jpg‘);%读取名为1.jpg的图片
imshow(A)%显示图片

2、将灰度图片变成负片

对图像进行操作,实际上是将图像看成许多个像素点,对每个像素点进行操作。在计算机系统中,灰度图片被看成是许多个由值在[0~255]之间的像素点组成的图像,255表示白色,0表示黑色,黑白之间存在256个灰度级。 
 
  负片是指将原灰度图白色的地方变成黑色,黑色的地方变成白色。也就是将0变成255,255变成0。MALTAB的imadjust()函数提供了该功能。其函数原型:  

imadjust:
 J = imadjust(I,[low_in; high_in],[low_out; high_out])

  其中,I为原灰度图像,low_in,high_in为输入图像的低和高灰度级,设置为[0,1]表示从0~255的归一化,low_out,high_out为输出图像的低高灰度级。 
  若是想将图片转换为负片,那么将[low_in; high_in]设置为[0,1],将[low_out; high_out]设置为[1,0]。即原来输入为0的地方变成1输出,输入为1的地方变成0输出。 
  实例: 

A=imread(‘1.jpg‘);
imshow(A)%显示原图
A1=imadjust(A,[0,1],[1,0]);%将灰度级对调
figure,imshow(A1)%显示负片

3、彩色图片转换成灰度图片

  我们在计算机中看到的大多数彩色图片是基于RBG三通道的图片,红绿蓝三种颜色,每一种取值均为[0~255]。通过255*255*255,可以构成庞大的颜色群。而灰度图像只有256个灰度级。通过以下公式可以将RGB转换成灰度 
  GRAY=0.2989 R + 0.5870 * G + 0.1140 * B* 
  MATLAB中提供的函数rgb2gray为我们提供了将彩色图片转换成灰度图片的功能。函数原型: 

I = rgb2gray(RGB)
  • 1

实例:

A=imread(‘001.png‘);%原彩色图片
imshow(A)
A_gray=rgb2gray(A);%转换成灰度图片
figure,imshow(A_gray)


  

原文地址:https://www.cnblogs.com/Ph-one/p/11516808.html

时间: 2024-11-08 20:34:14

MATLAB中图像的基本操作的相关文章

Converting Between Image Classes (matlab 中图像类之间的转换)

首先类似于C中的类型转换,matlab中也有其对应的类型转换. For example, a=2;double(a)   ---> 2.0 or 更多位数 a=2.1;uint8(a)   ---> 2,反正是去掉了小数部分. 因为uint8是八个bit即一个byte存储的,因此其范围是0-255,超出255的double数据被强制转换为255,低于0的double数据被强制转换为0,中间的double数据则直接被去除小数部分. a=[0,1;2,0];logical(a) ---> a

matlab 图像的基本操作

(1)显示: image()可以直接显示8位数图像,但8位图像和double型数据在image()中意义是不一样的. 二值图可用uint8或double来储存: 索引图像uint8和double型显示方法没区别.但8位数据矩阵的值和颜色种类之间有一个数值为1的偏差.调用格式  image(x); colormap(map); 对于灰度图像,uint8范围0~255,double范围0~1,二者转换方式: i8 = uint(round(i64*255));   i64 = double(i8)/

Qt中图像的显示与基本操作

Qt可显示基本的图像类型,利用QImage.QPxmap类可以实现图像的显示,并且利用类中的方法可以实现图像的基本操作(缩放.旋转). 1. Qt可显示的图像类型 参考Qt的帮助文档,可支持的类型,即可以直接读取并显示的格式有BMP.GIF.JPG.JPEG.PNG.TIFF.PBM.PGM.PPM.XBM.XPM. 2. Qt用如何显示图像 通常用QLabel显示图像,QLabel类有setPixmap()函数,可以用来显示图像.也可以直接用QPainter画出图像. 如果图像过大,直接用QL

MATLAB中的图像类型

MATLAB中的图像类型 1. RGB 图像 RGB 图像又称为真彩图像,它是利用 R. G. B 三个分量标识一个像素的颜色, R. G.B 分别代表红.绿.蓝 3 种不同的颜色,通过三基色可以合成出任意颜色. 所以对一个尺寸维 n×m 的彩色图像来说,在 MATLAB 中则存储一个 n×m×3 的多维数据数组,其中数组中的元素定义了图像中每一个像素的红.绿.蓝颜色值. RGB 图像不使用调色板,每一个像素的颜色由存储在相应位置的红.绿.蓝颜色分量的组合来确定. 红.绿.蓝分量分别占用 8 位

MATLAB基本操作(十):关于OpenCV坐标系与MATLAB中矩阵行与列的对应

OpenCV坐标点与MATLAB中矩阵行与列的对应 Last Edit 2014/5/4 转载请注明出处:http://blog.csdn.net/jxlijunhao 之所以会写这个东西,因为要把OpenCV中得到的角点坐标,保存在txt文件中,然后投影到matlab中. 首先,OpenCV中的坐标系如下图: 所以,OpenCV中以(0,0)为原点,假定一个点(10,2),表示y=10,x=2 在matlab中以  (1,1)为原点,所以上面的点在matlab中应为(11,3) 验证代码: 在

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; clos

【3.10】matlab中批量读取图像

1. 指定路径下 单个文件夹data中所有图像 file_path = '.\data\';% 图像文件夹路径 img_path_list = dir(strcat(file_path,'*.jpg'));%获取该文件夹中所有jpg格式的图像 img_num = length(img_path_list);%获取图像总数量 if img_num > 0 %有满足条件的图像 for j = 1:img_num %逐一读取图像 image_name = img_path_list(j).name;%

matlab中filter,conv之间的区别

conv是做卷积,就是按照书上的做法,先翻转,在一步步平移,得出结果.对于两个长度分别为n,m的序列,卷积结果长度为m+n-1 filter是做滤波,其实原理跟卷积是想通的,只不过处理结果的方法不同,先看示例程序: x=[1,2,3,4,5]; h=[1,1,1]; y1=conv(h,x) y2=filter(h,1,x) y3=filter(x,1,h) y4=filter(x,1,[h,zeros(1,4)]) 结果为: y1 = 1     3     6     9    12    

Matlab中给figure添加图例(legend),标题(title)和颜色(color)

在Matlab绘图过程中,尤其是需要将多个图绘制在相同的坐标轴中时,通常需要将不同的曲线设置成为不同的颜色.此外,为了直观,还需要给这张图标增添标题和图例.这篇文章展示了在Matlab的绘图窗口(figure)中设置曲线颜色.添加图例(legend)和标题(title)的方法. 在Matlab中,给曲线设定颜色可以采用plot函数实现.如下所示的语句中: plot(x, y, 'r'); 是以 x 变量为横坐标,y 变量为纵坐标绘制红色曲线.其中,颜色控制由 ‘r’实现.在Matlab中,预先留