数字图像处理实验一(附源程序)

合集下载

(完整word版)数字图像处理 实验报告(完整版)

(完整word版)数字图像处理 实验报告(完整版)

数字图像处理实验一 MATLAB数字图像处理初步一、显示图像1.利用imread( )函数读取一幅图像,假设其名为lily.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;实验结果如下图:源代码:>>I=imread('lily.tif')>> whos I>> imshow(I)二、压缩图像4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。

6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。

7.用imread()读入图像Sunset.jpg和Winter.jpg;8.用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小;9.用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。

其中9的实验结果如下图:源代码:4~6(接上面两个) >>I=imread('lily.tif')>> imfinfo 'lily.tif';>> imwrite(I,'lily.jpg','quality',20);>> imwrite(I,'lily.bmp');7~9 >>I=imread('Sunset.jpg');>>J=imread('Winter.jpg')>>imfinfo 'Sunset.jpg'>> imfinfo 'Winter.jpg'>>figure(1),imshow('Sunset.jpg')>>figure(2),imshow('Winter.jpg')三、二值化图像10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。

数字图像处理实验——实验一

数字图像处理实验——实验一

报告内容:(目的和要求、原理、步骤、数据、计算、小结等)实验一静态图像采集一、实验目的1、了解DSK的工作原理。

2、了解FPGA进行静态图象采集的工作原理。

3、了解DSP的EDMA技术在静态数据采集中的作用。

4、了解DSP的中断技术。

5、了解SDRAM在静态视频中的作用。

6、了解DSP和FPGA在视频数据采集中的同步原理。

二、实验设备计算机、6711DSK、视频板、CCS软件、Webpack软件三、实验原理本实验由视频采集卡上的FPGA和DSK共同完成对摄入图像的静态采集和显示,所为静态采集,就是可以选择采集一幅用户感兴趣的图像,把这幅图像保存到DSK板上的SDRAM中并完成显示。

视频图像由SAA7111进行AD变换和视频解码后输出CCIR601标准的视频数据流送给FPGA以及SDRAM,包括:16位图像数据(高8位为Y信号,低8位为UV信号交叉出现);行同步信号hs(在行消隐期间为高电平,其他时间为低电平);场同步信号vs(在场消隐期间为高电平,其他时间为低电平);行参考信号href(行数据有效期间为高电平)。

在PAL 制下,标准的CCIR601视频数据为864点/行*625/场*50场,一场分为两帧,分别为奇数行和偶数行。

其中每行有效数据为720个点,即herf\维持720个点。

FPGA输出给AL250进行视频显示的信号也需要满足这一格式。

根据这一格式,采集时FPGA将有效,的视频数据存入FPGA的OUTFIFO中,同时以行同步信号作为DSP的中断信号通知DSP取走FIFO 中一行的数据。

DSP收到中断信号后进入中断处理程序,用EDMA从FPGA的OUTFIFO 中读取一行的数据到SDRAM中,再用EDMA将一行的数据从SDRAM搬到视频板INFIFO 中。

FPGA产生显示所需的同步信号和对INFIFO读取的控制信号,控制INFIFO中的数据和同步信号AL250完成显示功能。

为此在这个实验前,需要了解以下知识点:1、视频图像的原理和应用2、DSP原理和应用3、FPGA原理和应用四、实验步骤1、复习有关图象动态采集的基础知识。

数字图像处理实验实验报告 实验二

数字图像处理实验实验报告 实验二

数字图像处理实验实验报告(实验一)一、实验目的:1、直方图显示2、计算并绘制图像直方图3、直方图均衡化二.程序脚本clear all;RGB=imread('me.jpg');figure;imshow(RGB);title('图1 彩色图');%========================================================== I=rgb2gray(RGB);figure;imshow(I);title('图2 灰度图');%========================================================= figure;imhist(I);title('灰度直方图');%========================================================= hi=imhist(I);j=1;%为使画出的直方图更好看,在此进行了抽样for(i=1:256)if(mod(i,10)==1)h(j)=hi(i);j=j+1;endendn=0:10:255;figure;stem(n,h);axis([0 255 0 2500]);title('图3.1 stem显示直方图');figure;bar(n,h);axis([0 255 0 2500]);title('图3.2 bar显示直方图');figure;plot(n,h);axis([0 255 0 2500]);title('图3.3 plot显示直方图');%========================================================= I=rgb2gray(RGB);figure;subplot(3,2,1);imshow(I);title('图4.1 原始灰度图');subplot(3,2,2);imhist(I);title('图4.2 原始灰度直方图');%=============================J1=imadjust(I);subplot(3,2,3);imshow(J1);title('调整对比度以后的图');subplot(3,2,4);imhist(J1);title('调整对比度以后的灰度直方图');%=================================J2=histeq(I);subplot(3,2,5);imshow(J2);title('均衡化以后的的图');subplot(3,2,6);imhist(J2);title('均衡化以后的灰度直方图');三.实验结果图1 彩色图图2 灰度图010002000灰度直方图10020010020005001000150020002500图3.1 stem 显示直方图10020005001000150020002500图3.2 bar 显示直方图10020005001000150020002500图3.3 plot 显示直方图图4.1 原始灰度图10002000图4.2 原始灰度直方图0100200调整对比度以后的图010002000调整对比度以后的灰度直方图0100200均衡化以后的的图02000均衡化以后的灰度直方图100200。

数字图像处理实验一图像的基本操作和基本统计指标计算实验报告.doc

数字图像处理实验一图像的基本操作和基本统计指标计算实验报告.doc

实验一图像的基本操作和基本统计指标计算一、实验目的熟悉MATLAB图像处理工具箱,在掌握MATLAB基本操作的基础上,本课程主要依靠图像处理工具箱验证和设计图像处理算法。

对于初学者来说,勤学多练、熟悉MATLAB图像处理工具箱也是学号本课程的必经之路。

了解计算图像的统计指标的方法及其在图像处理中的意义。

了解图像的几何操作,如改变图像大小、剪切、旋转等。

二、实验主要仪器设备(1)台式计算机或笔记本电脑(2)MATLAB(安装了图像处理工具箱,即Image Processing Toolbox(IPT))(3)典型的灰度、彩色图像文件三、实验原理(1)将一幅图像视为一个二维矩阵。

(2)利用MATLAB图像处理工具箱读、写和显示图像文件。

①调用imread函数将图像文件读入图像数组(矩阵)。

例如“I=imread(‘tire.tif’);”。

其基本格式为:“A=imread(‘filename.fmt’)”,其中,A为二维矩阵,filename.为文件名,fmt 为图像文件格式的扩展名。

②调用imwrite函数将图像矩阵写入图像文件。

例如“imwrite(A,’test_image.jpg’);”。

其基本格式为“imwrite(a,filename.fmt)”。

③调用imshow函数显示图像。

例如“imshow(‘tire.tif’);”。

其基本格式为:I为图像矩阵,N为显示的灰度级数,默认时为256。

(3)计算图像有关的统计参数。

四、实验内容(1)利用MATLAB图像处理工具箱和Photoshop读、写和显示图像文件。

(2)利用MATLAB计算图像有关的统计参数。

五、实验步骤(1)利用“读图像文件I/O”函数读入图像Italy.jpg。

(2)利用“读图像文件I/O”的iminfo函数了解图像文件的基本信息:主要包括Filename(文件名)、FileModDate(文件修改时间)、Filesize(文件尺寸)、Format(文件格式)、FormatVersion (格式版本)、Width(图像宽度)、Height(图像高度)、BitDepth(每个像素的位深度)、ColorType (彩色类型)、CodingMethod(编码方法)等。

数字图像处理实验

数字图像处理实验

数字图像处理实验数字图像处理实验实验⼀:图像⾊彩编辑器⼀、图像⾊彩编辑器(ColorPicker)是⼀个基于对话框的应⽤程序,它具有以下功能:1、⾊彩编辑功能⽤户可以通过可以调整R、G、B的值来编辑颜⾊,亦可通过调整H、S、V的值来选取颜⾊。

颜⾊编辑的结果会马上反馈到颜⾊⾯板和颜⾊预览框中。

2、RGB颜⾊空间和HSV颜⾊空间的转换当改变RGB值,会得到相应的HSV值,并进⾏显⽰,反之亦然。

3、取⾊功能取⾊功能包含“⾯板取⾊”和“屏幕取⾊”。

⾯板取⾊就是⽤户可以在颜⾊⾯板中单击⿏标左键,选取⽬标点所表⽰的某种颜⾊。

屏幕取⾊则是允许⽤户获取整个屏幕上的任意⼀点的颜⾊值。

⽤户可以将⿏标移动到需要获取颜⾊的地⽅,然后按a键或A键即可以获取该点颜⾊值。

⼆、实验步骤1、创建新项⽬打开VC6.0,选择菜单中的[⽂件]——[新建]项⽬,在弹出的“新建项⽬”对话框中选择“MFC应⽤程序”模板,并在名称中输⼊“ColorPicker”,然后单击“确定”。

在“MFC 应⽤程序向导”的应⽤程序类型中选择“基本对话框”,其他选项采⽤系统默认设置,最后⽣成项⽬。

2、对话框设计设计对话框将解决各种控件的数量、摆放的位置和使⽤的名称等问题。

打开资源视图(ColorPicker Resources),点击对话框(Dialog),找到名为“IDD_COLORPICKER_DIALOG”的对话框资源,双击它进⼊编辑状态,并按照下图所⽰的图和表对该对话框进⾏编辑。

3、完成实例编程12 3 4 5 678 9 1011 12 13这⾥介绍⼀下组成ColorPicker 应⽤程序的每个⽂件的作⽤:(1)ColorPicker.vcproj这是使⽤应⽤程序向导⽣成的VC++ 项⽬的主项⽬⽂件。

它包含⽣成该⽂件的Visual C++ 的版本信息,以及有关使⽤应⽤程序向导选择的平台、配置和项⽬功能的信息。

(2)ColorPicker.h这是应⽤程序的主要头⽂件。

数字图像处理实验报告(完整版)

数字图像处理实验报告(完整版)

数字图像处理实验报告(完整版)数字图像处理实验⼀ MATLAB数字图像处理初步⼀、显⽰图像1.利⽤imread( )函数读取⼀幅图像,假设其名为lily.tif,存⼊⼀个数组中;2.利⽤whos 命令提取该读⼊图像flower.tif的基本信息;3.利⽤imshow()函数来显⽰这幅图像;实验结果如下图:源代码:>>I=imread('lily.tif')>> whos I>> imshow(I)⼆、压缩图像4.利⽤imfinfo函数来获取图像⽂件的压缩,颜⾊等等其他的详细信息;5.利⽤imwrite()函数来压缩这幅图象,将其保存为⼀幅压缩了像素的jpg⽂件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。

6.同样利⽤imwrite()函数将最初读⼊的tif图象另存为⼀幅bmp图像,设为flily.bmp。

7.⽤imread()读⼊图像Sunset.jpg和Winter.jpg;8.⽤imfinfo()获取图像Sunset.jpg和Winter.jpg的⼤⼩;9.⽤figure,imshow()分别将Sunset.jpg和Winter.jpg显⽰出来,观察两幅图像的质量。

其中9的实验结果如下图:源代码:4~6(接上⾯两个) >>I=imread('lily.tif')>> imfinfo 'lily.tif';>> imwrite(I,'lily.jpg','quality',20);>> imwrite(I,'lily.bmp');7~9 >>I=imread('Sunset.jpg');>>J=imread('Winter.jpg')>>imfinfo 'Sunset.jpg'>> imfinfo 'Winter.jpg'>>figure(1),imshow('Sunset.jpg')>>figure(2),imshow('Winter.jpg')三、⼆值化图像10.⽤im2bw将⼀幅灰度图像转化为⼆值图像,并且⽤imshow显⽰出来观察图像的特征。

数字图像处理实验指导书(带源程序)

实验一Matlab图像处理工具箱的初步练习一. 实验目的1. 掌握有关数字图像处理的基本概念;2. 熟悉Matlab图像处理工具箱;3. 熟悉使用Matlab进行数字图像的读出和显示;4. 熟悉运用Matlab指令进行图像旋转和缩放变换。

二. 练习1. 文件的读入与显示(1) 运行Matlab。

(2) MATLAB窗口构成:在缺省的情况下,由三个窗口组成。

命令窗口(command window)、命令历史(command history)、工作空间(workspace)。

注意:缺省窗口的设置步骤为:MATLAB菜单/view选项/Desktop layout/default。

(3) 调入一个文件:i=imread('pout.tif');%注意:前面的“%”是用于注释的,不会被执行,只是说明这个语句的作用。

此时的i出现在什么窗口?是什么类型的变量?大小是多少?(4) 显示这幅图:imshow(i);(5) 将变量i转置成j,即j=i';显示j即imshow(j);%在胸前左侧花纹怎么会跑到右边的呢?举一个例子加以验证:设a=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15];b=a’;此时的b与a有什么区别?(6) 写入到一个新的图像文件'abc.tif'中,即imwrite(j,'abc.tif')。

(7) 清除变量命令:clear执行这个命令后,workspace窗口中的变量有没有?怎么验证?(8) 清除用户开设的窗口命令:close all(9) 调入图像文件'abc.tif'并显示。

问题:(1) 操作符“’”是图像的转置的意思,转置两次后,是否回到原图像?(2) 命令后的符号“;”所起的作用是什么?(3) 命令是否可以大写母?2. 灰度图像分别选择不同的灰度级(如2、4、16、64、128个)来显示同一幅图像(如testpat1.tif)。

数字图像处理实验程序

1对一幅图像的频谱进行频率位移,移到窗口中央,并显示出频率变换后的频谱图。

实验清单:i=imread('256gray.bmp')imshow(i);ffti=fft2(i)sffti=fftshift(ffti)rr=real(sffti)li=imag(sffti)a=sqrt(rr.^2+li.^2)a=(a-min(min(a)))/(max(max(a))-min(min(a)))*255figureimshow(a)2.锐化空间域方法i=imread('256gray.bmp');j=im2double(i);subplot(2,2,1),imshow(j,[ ]);h1=[0 -1 0,-1 0 -1,0 -1 0];h2=[-1 -1 -1,-1 9 -1,-1 -1 -1];h3=[1 -2 1,-2 5 -2,1 -2 1];a=conv2(j,h1,'same');subplot(2,2,2),imshow(a,[ ])b=conv2(j,h2,'same');subplot(2,2,3),imshow(b,[ ])c=conv2(j,h3,'same');subplot(2,2,4),imshow(c,[ ])3、小波变换clearclcX=imread('barbara.bmp');[c,s]=wavedec2(X,2,'bior3.7');ca1=appcoef2(c,s,'bior3.7',1);ch1=detcoef2('h',c,s,1);cv1=detcoef2('v',c,s,1);cd1=detcoef2('d',c,s,1);a1=wrcoef2('a',c,s,'bior3.7',1);h1=wrcoef2('h',c,s,'bior3.7',1);v1=wrcoef2('v',c,s,'bior3.7',1);d1=wrcoef2('d',c,s,'bior3.7',1);c1=[a1,h1;v1,d1];ca1=appcoef2(c,s,'bior3.7',1);ca1=wcodemat(ca1,400,'mat',0);ca1=0.5*ca1;ca2=appcoef2(c,s,'bior3.7',2);ca2=wcodemat(ca2,400,'mat',0);ca2=0.25*ca2;subplot(221)imshow(X)title('原始图像')disp('原始图像的大小')whos('X')subplot(222)c1=uint8(c1);imshow(c1)title('显示分频信息')subplot(223)disp('第一次压缩图像的大小')ca1=uint8(ca1);whos('ca1')imshow(ca1);title('第一次压缩的图像')disp('第二次压缩图像的大小')subplot(224)ca2=uint8(ca2);imshow(ca2);title('第二次压缩的图像')whos('ca2')2利用DCT进行图像压缩(首先将图像分割成8×8的图像,对每个子图像进行DCT,这样每个子图像有64个系数,舍去50%小的变换系数,进行2:1的压缩。

计算机图像处理实验报告(数字图像处理基本操作)

课程名称:计算机图像处理实验名称:实验一数字图像处理基本操作一、实验目的(1)掌握MATLAB软件的运用,熟练掌握建立、保存、运行、调试m文件的方法。

(2)了解MATLAB软件中图像处理工具箱的使用方法。

(3)熟练掌握图像文件(黑白、灰度、索引色和彩色图像)的读取及显示方法。

(4)熟悉常用的图像文件格式和格式转换。

二、实验内容(包括源程序和程序运行结果)(1)编写matlab程序对灰度图像pout.tif、索引图像canoe.tif、真彩色图像peppers.png实现读取、显示和保存。

源程序:clearclcI=imread('pout.tif');subplot(131),imshow(I),title('灰度图像');[I1,map]=imread('canoe.tif');I2=ind2rgb(I1,map);subplot(132),imshow(I2),title('索引图像');I3=imread('peppers.png');subplot(133),imshow(I3),title('真彩色图像')imwrite(I,'newpout.bmp');imwrite(I2,'newcano.bmp');imwrite(I3,'newpeppers.bmp');程序运行结果:(2)matlab图像文件夹中的mri.mat是一个包含27帧、图像尺寸为128*128的多帧索引图像。

编写matlab程序对请将前20帧图像顺序读入到一个数组中并显示出来,转换成影像显示。

源程序:clearclcload mri;figure;subplot(4,5,1),imshow(D(:,:,:,1));subplot(4,5,2),imshow(D(:,:,:,2));subplot(4,5,3),imshow(D(:,:,:,3));subplot(4,5,4),imshow(D(:,:,:,4));subplot(4,5,5),imshow(D(:,:,:,5));subplot(4,5,6),imshow(D(:,:,:,6));subplot(4,5,7),imshow(D(:,:,:,7));subplot(4,5,8),imshow(D(:,:,:,8));subplot(4,5,9),imshow(D(:,:,:,9));subplot(4,5,10),imshow(D(:,:,:,10));subplot(4,5,11),imshow(D(:,:,:,11));subplot(4,5 ,12), imshow(D(:,:,:,12));subplot(4,5,13),imshow(D(:,:,:,13));subplot(4,5,14),imshow(D(:,:,:,14));subplot(4,5 ,15), imshow(D(:,:,:,15));subplot(4,5,16),imshow(D(:,:,:,16));subplot(4,5,17),imshow(D(:,:,:,17));subplot(4,5 ,18), imshow(D(:,:,:,18));subplot(4,5,19),imshow(D(:,:,:,19));subplot(4,5,20),imshow(D(:,:,:,20));mov=immovie(D,map);implay(mov)程序运行结果:(3)通过图像点运算减弱图像pout.tif的对比度。

数字图像处理实验及报告(含源码)

大学数字图像处理实验报告设计题目:数字图像处理专业名称:软件工程班级: 1 学号: 1 姓名: MARK 指导教师:2016年5月16日目录实验一数字图像的采集和Photoshop软件的操作 (4)1.1实验目的 (4)1.2实验任务及要求 (4)1.3实验内容、步骤和结果 (4)1.4 结果分析 (7)实验二图像的傅里叶变换 (8)2.1实验目的 (8)2.2实验任务及要求 (8)2.3实验内容、步骤和结果 (8)2.4 结果分析 (11)实验三图像的灰度变换和直方图变换 (12)3.1实验目的 (12)3.2实验任务及要求 (12)3.3实验内容、步骤和结果 (12)3.4 结果分析 (16)实验四图像的平滑处理 (17)4.1实验目的 (17)4.2实验任务及要求 (17)4.3实验内容、步骤和结果 (17)4.4 结果分析 (20)实验五 (21)5.1实验目的 (21)5.2实验任务及要求 (21)5.3实验内容、步骤和结果 (21)5.4 结果分析 (24)实验六 (26)6.1实验目的 (26)6.2实验任务及要求 (26)6.3实验内容、步骤和结果 (26)6.4 结果分析 (28)实验一数字图像的采集和Photoshop软件的操作1.1实验目的1、熟悉并掌握MATLAB,PHOTOSHOP等工具的使用;2、实现图像的读取、显示、代数运算和简单的变换。

1.2实验任务及要求1、根据实验内容在MATLAB中编写相应地代码,使结果符合题目要求;2、在PHOTOSHOP中实现与MATLAB中相同对图像的处理,进行对比;3、完成实验报告。

1.3实验内容、步骤和结果1、实验内容:a)读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口上分成三个子窗口来分别显示RGB图像、灰度图像和二值图像,注上文字标题;b)对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题;c)对一幅图像进行灰度变化,实现图像变亮,变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题;d)学会常用数字图像处理软件Photoshop的功能操作练习。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字图像处理—实验一
一.实验内容:
图像灰度变换
二.实验目的:
学会用Matlab 软件对图像灰度进行变换;感受各种不同的灰度变换方法对最终图像效果的影响。

三.实验步骤:
1.获取实验用图像:rice.jpg. 使用imread 函数将图像读入Matlab 。

2.产生灰度变换函数T1,使得:
0.3r
r < 0.35 s =
0.105 + 2.6333(r – 0.35) 0.35 ≤ r ≤ 0.65
1 + 0.3(r – 1) r > 0.65 用T1对原图像rice.jpg 进行处理,使用imwrite 函数保存处理后的新图像。

3.产生灰度变换函数T2,使得:
s =
用T2对原图像rice.jpg 进行处理,使用imwrite 保存处理后的新图像。

4.分别用 s = r 0.6; s = r 0.4; s = r 0.3 对kids.tiff 图像进行处理。

为简便起见,请
使用Matlab 中的imadjust 函数。

使用imwrite 保存处理后的新图像。

5.对circuit.jpg 图像实施反变换(Negative Transformation )。

s =1-r; 使用
imwrite 保存处理后的新图像。

6.对rice.jpg 图像实施灰度切片(Gray-level slicing )。

具体要求如下:
当0.2 ≤ r ≤ 0.4时,将r 置为0.6, 当r 位于其他区间时, 保持其灰度与原图像一样。

使用imwrite 保存处理后的新图像。

7.利用灰度变换对Picture.jpg 做增强处理,突出图中的人物,改善整个图像过
于灰暗的背景。

通过调节参数,观察变换后的图像与原始图像的变化,寻找出最佳的灰度变换结果。

写出所采用的拉伸表达式。

(提示:用imhist 观察图像直方图,利用分段线性灰度变换。

)
四.实验报告要求:
用imshow, plot等函数生成各类图像,提交原图像和各种变换函数的曲线,以及按各种变换函数处理后的图像。

%%%%%%%% 班级:0410201
%%%%%%%% 姓名:xx
%%%%%%%% 学号:041010329
clear all;
clc;
close all;
%%%%%%%%处理rice.png
a=imread('rice.png');
figure,imshow(a),title('原图');axis on;
a=double(a)/256;
figure,imhist(a),title('原直方图');axis on;
r=[0:0.001:1];
s1=[r<0.35].*r*0.3+[r<=0.65].*[r>=0.35].*(0.105+2.6333*(r-0.35))+[r>0.65].*(1+0.3*(r-1)); %产生灰度变换函数T1
s2=[r<=0.5].*(r.^5)*15.9744+[r>0.5].*((r-0.5).^0.2+0.12); %产生灰度变换函数T2
a1=[a<0.35].*a*0.3+[a<=0.65].*[a>=0.35].*(0.105+2.6333*(a-0.35))+[a>0.65].*(1+0.3*(a-1));
a2=[a<=0.5].*(a.^5)*15.9744+[a>0.5].*((a-0.5).^0.2+0.12);
figure,imshow(a1),title('改后一');axis on;
figure,imhist(a1),title('改后直方图一');axis on;
figure,plot(r,s1),title('变换函数一');axis on;
figure,imshow(a2),title('改后二');axis on;
figure,imhist(a2),title('改后直方图二');axis on;
figure,plot(r,s2),title('变换函数二');axis on;
imwrite(a1,'改后rice一.jpg');
imwrite(a2,'改后rice二.jpg'); %%%%%%%%处理kids.tif
b=imread('kids.tif');
figure,imshow(b),title('原图');axis on;
b=double(b)/256;
figure,imhist(b);title('原直方图');axis on;
s1=r.^0.6;
s2=r.^0.4;
s3=r.^0.3;
b1=imadjust(b,[],[],0.6);
b2=imadjust(b,[],[],0.4);
b3=imadjust(b,[],[],0.3);
figure,imshow(b1),title('改后一');axis on; figure,imhist(b1),title('改后直方图一');axis on; figure,plot(r,s1),title('变换函数一');axis on; figure,imshow(b2),title('改后二');axis on; figure,imhist(b2),title('改后直方图二');axis on; figure,plot(r,s2),title('变换函数二');axis on; figure,imshow(b3),title('改后三');axis on; figure,imhist(b3),title('改后直方图三');axis on; figure,plot(r,s3),title('变换函数三');axis on; imwrite(b1,'改后kids一.jpg');
imwrite(b2,'改后kids二.jpg');
imwrite(b3,'改后kids三.jpg'); %%%%%%%%处理circuit.tif
c=imread('circuit.tif');
figure,imshow(c),title('原图');axis on;
c=double(c)/256;
figure,imhist(c),title('原直方图');axis on;
s=1-r;
c=1-c;
figure,imshow(c),title('变换后');axis on;
figure,imhist(c),title('变换后直方图');axis on;
figure,plot(r,s),title('变换函数');axis on;
imwrite(c,'改后circuit.jpg');
%%%%%%%%%%处理rice.png
d=imread('rice.png');
figure,imshow(d),title('原图');axis on;
d=double(d)/256;
figure,imhist(d),title('原直方图');axis on;
r=[0:0.001:1];
s=[r<=0.4].*[r>=0.2]*0.6;
d=[d<=0.4].*[d>=0.2]*0.6+[d>0.4].*d+[d<0.2].*d;
figure,imshow(d),title('变换后');axis on;
figure,imhist(d),title('变换后直方图');axis on;
figure,plot(r,s),title('变换函数');axis on;
imwrite(d,'第二次改后rice.jpg');
%%%%%%%%%处理Picture.jpg
e=imread('Picture.jpg');
e=e(:,:,1);%%提取方向
e=im2double(e);
figure,imshow(e),title('原图');axis on;
figure,imhist(e),title('原直方图');axis on;
r=[0:0.001:1];
s=[r<0.3].*r*1.1+[r>0.65].*r*0.8+[r>=0.3].*[r<=0.65].*(0.11+r*1.5); e=[e<0.3].*e*1.1+[e>0.65].*e*0.8+[e>=0.3].*[e<=0.65].*(0.11+e*1.5); figure,imshow(e),title('变换后');axis on;
figure,imhist(e),title('变换后直方图');axis on;
figure,plot(r,s),title('变换函数');axis on;
imwrite(e,'改后Picture.jpg');。

相关文档
最新文档