matlab数字图像处理常用函数_图像处理用到的算法

matlab数字图像处理常用函数_图像处理用到的算法写在前头:说到数字图像处理,不得不提起MATLAB

写在前头:说到数字图像处理,不得不提起MATLAB。这是一款非常方便的仿真软件,绝大多数的图像处理可以用MATLAB完成。
  有人问,处理图片,用PS岂不是更好。两者各有优点,如果需要将10000幅图片转换成灰度图像并保存呢?MATLAB只需要一段很短的程序运行几秒就可以完成这个工作。
本文基于MatlabR2012a,将由浅入深写下去。

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)

实例:

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

这里写图片描述
  

今天的文章matlab数字图像处理常用函数_图像处理用到的算法分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/69980.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注