
开头写道: 关于数字图像处理,我不得不提到MATLAB. 这是一个非常方便的仿真软件,大多数图像处理都可以使用MATLAB进行.
有人问,使用PS处理图片会更好吗?两者都有自己的优势. 如果您需要将1000张图片转换为灰度图像并将其保存怎么办? MATLAB只需要一个简短的程序即可运行几秒钟即可完成这项工作.
本文基于MatlabR2012a,并将从较浅的地方逐渐写下.
MATLAB 1中图像的基本操作,读取并显示图片
MATLAB提供了immread()和imshow()函数来读取和显示图片. 读取函数imread()的原型:
imread:
A = imread(filename, fmt)

A是结构的名称,用于存储读取的图像数据. filename是要读取的文件的名称,并且文件名应包含在“. ”中. fmt是要读取的文件的类型,例如jpg,png等,可以省略此参数,并且MATLAB自动确定它.
显示函数imshow()原型:
imshow:
imshow(I)
我是读取后保存在MATLAB中的结构名称.
程序示例:
A=imread('1.jpg');%读取名为1.jpg的图片
imshow(A)%显示图片

2. 将灰度图片变成底片
操作图像实际上是将图像视为多个像素,并对每个像素进行操作. 在计算机系统中,灰度图片被认为是由许多像素组成的图像,其值在[0〜255]之间. 255表示白色,0表示黑色,黑白之间有256个灰度级.
负片是指将原始灰度图像的白色区域变成黑色,将黑色区域变成白色. 即,0变为255,255变为0. MARTAB的imadjust()函数提供了此功能. 其功能原型:
imadjust:
J = imadjust(I,[low_in; high_in],[low_out; high_out])

其中,我是原始灰度图像,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)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-290054-1.html
我们不只会用嘴巴说话
想骚扰一下
其实也就等同于今后任何国家到美国去巡航