图像变换实验.
图像变换实验报告

图像变换实验报告实验三图像变换⼀、实验⽬的1、结合实例学习⼏种常见的图像变换,并通过实验体会图像变换的效果;2、理解和掌握图像旋转、缩放、离散傅⾥叶变换和离散余弦变换的原理和应⽤,掌握利⽤MATLAB编程实现图像变换的⽅法。
⼆、实验内容1、图像的⼏何变换,主要实现图像的缩放与旋转,要求变换中⽤最近邻插值算法实现,或⽤双线性变换法实现并⽐较;2、图像的正交变换,主要实现离散傅⾥叶变换(DFT)与离散余弦变换(DCT)。
三、实验要求1、独⽴完成;2、编写MATLAB程序,并对程序中所调⽤函数的功能进⾏必要的说明(可⽤“help 函数名”进⾏查询);3、调试运⾏后保存实验结果(注意保存的⽂件格式);4、完成实验报告。
四、实验原理(⼀)图像的⼏何运算(变换)1、⽐例缩放⽐例缩放是指将给定的图像在x轴⽅向按⽐例缩放fx倍,在y轴⽅向按⽐例缩放fy倍,从⽽获得⼀副新的图像。
在MATLAB中,进⾏图像⽐例缩放的函数是imresize,它的常见调⽤⽅法如下:B=imresize(A,scale)B=imresize(A,[mrows ncols])B=imresize(A,scale,method)其中,A是要进⾏缩放的图像矩阵,scale是进⾏缩放的倍数,如果scale⼩于1,则进⾏缩⼩操作,如果scale⼤于1,则进⾏放⼤操作。
[mrows ncols]⽤于指定缩放后图像的⾏数和列数,method ⽤于指定的图像插值⽅法,有nearest、bilinear、bicubic 等算法。
2、图像旋转⼀般的旋转是以图像的中⼼为原点,将图像上的所有像素都旋转⼀个相同的⾓度。
在MATLAB中,进⾏图像旋转的函数是imrotate,它的常见调⽤⽅法如下:B=imrotate(A,angle)B=imrotate(A,angle,method)B=imrotate(A,angle,method,bbox)其中,A是要旋转的图像,angle是旋转的⾓度;method是插值⽅法,可以为nearest、bilinear、bicublic等;bbox是指旋转后的显⽰⽅式,有两种选择,⼀种是crop,旋转后的图像效果跟原图像⼀样⼤⼩,⼀种是loose,旋转后的图像包含原图。
图像变换实验报告

在 MATLAB 中,进行图像旋转的函数是 imrotate,它的常见 调用方法如下:
B=imrotate(A,angle)
B= imrotate(A,angle,method)
B= imrotate(A,angle,method,bbox)
通过离散余弦变换可以看到图像的重要可是信息都集中在 DCT 变换的左上角一小部分系数中,其余大部分接近零,将幅值 小于 10 的 DCT 系数置为零后进行反 DCT 得到的压缩的图像,比 较变换前后的图像,可以发现视觉效果相差很小,压缩的效果比 较理想。 (三)选做实验:频域滤波
因为 Butterworth 低通滤波器在带通和带阻之间有平滑的过 渡带,高频信号没有完全滤除,在抑噪效果良好的同时,图像变 得更加模糊了。
其中,A 是要进行缩放的图像矩阵,scale 是进行缩放的倍数, 如果 scale 小于 1,则进行缩小操作,如果 scale 大于 1,则进 行放大操作。[mrows ncols]用于指定缩放后图像的行数和列数, method 用于指定的图像插值方法,有 nearest、bilinear、bicubic 等算法。 2、图像旋转
cos
2������
2������
������ = 0������ = 0
其中,f(x,y)是二维空间向量元素,F(u,v)是变换系数矩阵之元 素。
在 MATLAB 中,提供两种进行图像处理的 DCT 变换函数: B=dct2(A)
B=dct2(A,[m,n]) B=dct2(A,[m n]) 其中,A 是输入的图像,B 是返回的 DCT 的变换系数,m、n 分别 是返回的 DCT 变换系数 B 的行数和列数。
python图像变换实验心得

python图像变换实验心得python 图像变换实验心得, Python 图像变换实验心得实验一:用 pytho 制作一张可以让鼠标移动的图片,要求是让鼠标在图片上面能够随意移动。
实验二:利用模块对图片进行缩放和旋转处理,最终得到让鼠标在图片上移动不同角度的图片。
这两个任务其实都很简单,大家也应该比较熟悉,因此我就不多说了。
看了实验要求后我们开始写代码来实现我们的实验目标,首先我们使用 opencv 来对图片进行缩放操作,使得鼠标可以移动到图片的每一个位置,然后我们使用 cursor 函数来获取鼠标当前的位置,接着我们再次使用 opencv 来完成对图片的旋转操作,让鼠标始终指向图片中心点,最后我们使用 shapeatrof 函数来将图片进行对齐,然后将图片保存起来。
我还记得刚接触 Python 时,那会儿我的第一个 Python 项目就是用它来做图像处理的,这个图像处理包括图片缩放、旋转、图片的对齐等功能,现在看来我的那个项目基本已经过时了,不过还好,我在这里又学习了新知识,而且这些知识都非常实用。
这几天我在学习Python 的过程中发现它是一门非常强大的编程语言,而且这种编程语言不仅能够解决图形图像处理问题,还能够解决一些复杂的数据分析与运算问题,比如数据库、网络通信、自然语言处理、机器人控制、人工智能等等。
而且 Python 的数据结构非常灵活,这样就给我们提供了很多可选择的编程范式,从而为我们解决各类问题带来更多的便捷性。
然而这个命令并没有什么特别的地方,只是一个简单的缩放命令,我们只需要按照实际情况输入合适的数值就可以了。
但是当我们想把图片旋转或者放大时,就需要用到 modulolphide 函数了,这个函数的作用就是让图片沿水平轴旋转或者垂直轴翻转。
实验二 图像变换

实验二图像变换
一、实验内容
1.对图像进行平移,掌握图像的傅里叶频谱和平移后的傅里叶频谱的对应关系;
2.对图像进行旋转,掌握图像的傅里叶频谱和旋转后的傅里叶频谱的对应关系。
2、实验原理
如果F(u,v)的频率变量u,v各移动了u0,v0距离,f(x,y)的变量x,y各移动了x0,y0距离,则傅里叶变换如下所示
因此傅里叶变换的平移性质表明函数与一个指数项相乘等于将变换后的空域中心移到新的位置,平移不改变频谱的幅值。
傅里叶旋转可以通过下面变换得到:
对f(x,y)旋转一个角度对应于将其傅里叶变换F(u,v)也旋转相同的角度。
3、实验方法和程序
1. 选取一副图像,进行离散傅里叶变换,将其中心移到零点,得到
其离散傅里叶变换。
参考例4.10
2. 选取一副图像,进行离散余弦变换,并对其进行离散余弦反变
换。
参考例4.13
3. 选取一副图像,采用butterworth高通滤波器对图像进行高通滤
波。
参考例5.7
4、实验结果与分析
Matlab代码以及结果图
5、思考题
1. 将图像分别进行X轴与Y轴上的平移,所得傅里叶频谱与原图像
的傅里叶频谱有什么变换?。
实验7 彩色图像变换

实验7 彩色图像变换一、实验目的通过本实验使学生掌握使用MATLAB进行彩色图像处理的方法,加深对彩色空间和彩色图像的理解。
二、实验内容(一)彩色RGB空间的各个分量读取lena_color.tif图像,显示彩色图像,(1)提取三个图像分量,同屏显示彩色图像及其各个分量图像,说明各个图像分量的意义。
(2)同屏显示三个图像分量的直方图,并解释之。
(二) RGB-CMY空间的转换(1)编写程序,实现将lena图像的反色,也就是转换为 CMY 空间。
(2)提取CMY空间的三个图像分量,同屏显示彩色图像及其各个分量图像,说明各个图像分量的意义。
(3)同屏显示三个图像分量的直方图,并解释之。
(4)可再使用MATLAB下的补色图像imcomplement函数实现。
三.思考:1.RFB分量为灰度图像,代表彩色图像红、绿、蓝每个分量所占的比例,范围为0~255;2.从直方图中可以看出红、绿、蓝分量在彩色图像中占的比例;3.CMY图像是与RGB图像相反的色,表示其反射的颜色为CMY,其余的颜色被吸收,不能显示,用于颜料等;4.CMY直方图说明CMY图像中其各个分量所占的比例;5.彩色图像处理注意:彩色图像是含有三个或者四个分量的矩阵,处理时可以分别对其每个分量处理,也可以整体处理,但两者的处理效果不总是相同的,只有在(1)对分量与处理与整体处理都适用的方法;(2)彩色分量中各个分量是统计独立。
这时,处理的效果才能区分。
结果:程序如下:%==读取分量==lena_color=imread('d:\test_images\lena_color.tif','tif');lena_red=lena_color(:,:,1);lena_green=lena_color(:,:,2);lena_blue=lena_color(:,:,3);figure(1);subplot(2,2,1);imshow(lena_color);title('origin');subplot(2,2,2);imshow(lena_red);title('lena-red');subplot(2,2,3);imshow(lena_green);title('lena-green');subplot(2,2,4);imshow(lena_blue);title('lena-blue');%==直方图========figure(2);subplot(1,3,1);imhist(lena_red);title('red-imhist');subplot(1,3,2);imhist(lena_green);title('green-imhist'); subplot(1,3,3);imhist(lena_blue);title('blue-imhist');%==RGB-CMY========lena_inver=255-lena_color;figure(3);imshow(uint8(lena_inver));%==CMY图像分量====inver_red=lena_inver(:,:,1);inver_green=lena_inver(:,:,2);inver_blue=lena_inver(:,:,3);figure(4);subplot(2,2,1);imshow(lena_inver);title('CMY-image'); subplot(2,2,2);imshow(inver_red);title('CMY-red'); subplot(2,2,3);imshow(inver_green);title('CMY-green'); subplot(2,2,4);imshow(inver_blue);title('CMY-blue');%==直方图=====figure(5);subplot(1,3,1);imhist(inver_red);title('inver-red'); subplot(1,3,2);imhist(inver_green);title('inver-green'); subplot(1,3,3);imhist(inver_blue);title('inver-blue');%==imcomplement function=======comple_lena=imcomplement(lena_color);figure(6);imshow(comple_lena);运行结果:origin lena-redlena-green lena-blue05001000150020002500red-imhist100200500100015002000250030003500400045005000green-imhist100200blue-imhist100200CMY-imageCMY-redCMY-green CMY-blue05001000150020002500inver-red100200inver-green1002000inver-blue100200(三)彩色变换读取lena_color.tif图像,(1)将该RGB 图像的亮度降低70%,并同屏显示原图像与亮度降低后图像。
数字图像处理图像变换实验报告.

实验报告实验名称:图像处理姓名:刘强班级:电信1102学号:1404110128实验一图像变换实验——图像点运算、几何变换及正交变换一、实验条件PC机数字图像处理实验教学软件大量样图二、实验目的1、学习使用“数字图像处理实验教学软件系统”,能够进行图像处理方面的简单操作;2、熟悉图像点运算、几何变换及正交变换的基本原理,了解编程实现的具体步骤;3、观察图像的灰度直方图,明确直方图的作用和意义;4、观察图像点运算和几何变换的结果,比较不同参数条件下的变换效果;5、观察图像正交变换的结果,明确图像的空间频率分布情况。
三、实验原理1、图像灰度直方图、点运算和几何变换的基本原理及编程实现步骤图像灰度直方图是数字图像处理中一个最简单、最有用的工具,它描述了一幅图像的灰度分布情况,为图像的相关处理操作提供了基本信息。
图像点运算是一种简单而重要的处理技术,它能让用户改变图像数据占据的灰度范围。
点运算可以看作是“从象素到象素”的复制操作,而这种复制操作是通过灰度变换函数实现的。
如果输入图像为A(x,y),输出图像为B(x,y),则点运算可以表示为:B(x,y)=f[A(x,y)]其中f(x)被称为灰度变换(Gray Scale Transformation,GST)函数,它描述了输入灰度值和输出灰度值之间的转换关系。
一旦灰度变换函数确定,该点运算就完全确定下来了。
另外,点运算处理将改变图像的灰度直方图分布。
点运算又被称为对比度增强、对比度拉伸或灰度变换。
点运算一般包括灰度的线性变换、阈值变换、窗口变换、灰度拉伸和均衡等。
图像几何变换是图像的一种基本变换,通常包括图像镜像变换、图像转置、图像平移、图像缩放和图像旋转等,其理论基础主要是一些矩阵运算,详细原理可以参考有关书籍。
实验系统提供了图像灰度直方图、点运算和几何变换相关内容的文字说明,用户在操作过程中可以参考。
下面以图像点运算中的阈值变换为例给出编程实现的程序流程图,如下:2、图像正交变换的基本原理及编程实现步骤数字图像的处理方法主要有空域法和频域法,点运算和几何变换属于空域法。
实验二图像变换(FT DCT)
图像变换图像变换是图像预处理中常用技术手段,在图像增强、复原、编码里有着非常广泛的应用。
实验目的:1、学习傅立叶变换2、学习离散余弦变换实验时间:2-4个小时实验结果:写成电子文档,保存在服务器上实验内容:1.傅立叶变换熟悉其概念和原理,实现对一幅灰度图像的快速傅立叶变换,并求其变换后的系数分布.2.离散余弦变换熟悉其概念和原理,实现对一幅灰度和彩色图像作的离散余弦变换,选择适当的DCT系数阈值对其进行DCT反变换.1、傅立叶变换步骤如下:clcI=imread('ibm.bmp');subplot(2,3,1)imshow(I);title('原图');subplot(2,3,2)imhist(I);colorbar;title('原图直方图');J=fft2(I);subplot(2,3,3)imshow(J);title('fft变换图');%figure;K=fftshift(J);subplot(2,3,4)imshow(K);title('原点移至频谱中心');%figure;subplot(2,3,5)imshow(log(abs(K)),[]),colormap(jet(64)),colorbar;title('彩色频谱');结果如下:2.离散余弦变换熟悉其概念和原理,实现对一幅灰度和彩色图像作的离散余弦变换,选择适当的DCT 系数阈值对其进行DCT反变换.步骤如下:clcload imdemos;i=imread('tank.jpg');subplot(2,2,1);imshow(i);title('原始图象');j=rgb2gray(i);subplot(2,2,2);imshow(j);title('黑白化后的图像');% 图象的DCT变换b=dct2(j);subplot(2,2,3)imshow(log(abs(b)),[]),colormap(jet(64)),colorbar;title('DCT变换结果');%figure;b(abs(b)<10)=0;% idctc=idct2(b)/255;subplot(2,2,4)imshow(c);title('IDCT变换结果');结果如下:。
实验报告五图像变换技术
实验报告五姓名:学号:班级:实验日期: 2016.5.13 实验成绩:实验题目:图像变换技术一.实验目的(1)熟练掌握图像的快速傅里叶变换及其逆变换。
(2)熟练掌握图像的radon变换及其逆变换。
二.实验原理在空间域对原图像旋转theta角度的时候,对应其频域频谱函数角度也旋转theta角度,也就是说频域上其幅度谱不变。
图像投影,就是说将图像在某一方向上做线性积分(或理解为累加求和)。
如果将图像看成二维函数f(x, y),则其投影就是在特定方向上的线性积分,比如f(x, y)在垂直方向上的线性积分就是其在x轴上的投影;f(x, y)在水平方向上的线积分就是其在y轴上的投影,这就是雷登变换。
通过这些投影,可以获取图像在指定方向上的突出特性,而这些具有特征的数据包含了原图像的信息,通过一定的反投影来又可以重建图像。
三.实验内容及结果(1)任意选择一副图像,对图像进行旋转,显示原始图像和旋转后的图像,分别对其进行傅里叶变换,分析原图的傅里叶频谱与旋转后的傅里叶频谱的对应关系。
图 1 图像的旋转及傅里叶谱(2)选择一副图像boy.jpg,使用radon函数和iradon函数构建一个简单图像的投影并重建图像。
图2Modified Shepp-Logan头模型图3 变量工作区图 4 代表每个投影点的位置信息变量xp 部分值图5原图像不同角度投影的正弦图(雷登变换)图 6 滤波反投影法重建图像(滤波函数为汉明窗)图7 直接反投影法重建图像四.结果分析(1)观察图一,可以发现,原图像进行90度的旋转后,其旋转变换后的傅里叶幅度谱并没有改变,印证了空间域的旋转定理,即在空间域对原图像旋转theta角度的时候,对应其频域频谱函数角度也旋转theta角度。
(2)观察图3工作变量区,雷登变换radon中的返回变量[R,xp]中xp 此列向量大小为729,而xp代表每个投影点的位置信息变量,点进xp可以得到图4,看到其值从-364按照步长为1递增到364,这个不难理解,因为每按一个角度投影,数据不是一个,而是一列,它们按照一条线排布,步长为1恒定表示每个点是等距的,而且从xp 值对称可以看出这个相对点是原点,R是一个二维矩阵,由于投影角度的个数不同,所以列的大小取决于投影角度的设定,观察图5设定的不同角度的正弦图,可以发现当投影角度个数过小时,正弦图会块状效应,这是因为取样率不够的原因,取样率大小不仅取决于所用射线个数(这里每个投影的取样数均保持为729),还旋转角度增量的数量(这里分别为18,36,90,180),当欠取样时就会发生块状效应,所以由R和角度投影个数信息重建图像,会发现角度增量数量越多,重建的图像就和原图像越相似,但同时观察图6和图7又会发现滤波反投影比直接反投影降低了图像的模糊度。
实验三 图像变换实验
实验三图像变换实验一、实验目的及要求1、使得学生掌握动画的实现和使用;2、使得学生掌握基本控件的使用;3、掌握图像变换的基本方法;4、掌握图像的基本绘制方法;5、了解图像的格式和存放;6、实现基本动画和图像绘制。
二、实验原理1、图像资源1.1图形文件类型图片格式类型包括:png(preferred),jpg(acceptable),gif(discouraged),一般使用png 格式比较好。
图片文件命名以小写字母或下划线做首字母,随后的名字中只能出现“a—z”、“0—9 ”、“_ ”、“.”这些字符。
图片分辨率,若图片置于res/drawable 目录下,为了兼容不同平台不同屏幕,建议根据图片的分辨率,将图片放在相应的文件夹下。
1.2图形存取图像一般存放于Drawable(抽象类,表示可画的对象类,一般存于/res/drawable-***/目录下)、assets目录、sdcard中和其他目录(比如src目录或者自己创建的目录)。
1.3 Bitmap与BitmapFactory转换BitmapFactory是一个工具类,它用于提供大量的方法,这些方法可用于从不同的数据源来解析、创建Bitmap对象,BitmapFactory包含了如下方法:decodeByteArray(byte[] date, int offset, int length):从指定字节数组的offset位置开始,将长度为length的字节数据解析成Bitmap对象。
decodeFile(String pathName):从pathName指定的文件中解析、创建Bitmap对象。
decodeFileDescriptor(FileDescriptor fd):用于从FileDescriptor对应的文件中解析、创建Bitmap对象。
decodeResource(Resource res, int id):用于根据给定的资源ID从指定资源中解析、创建Bitmap对象。
图像变换实验报告
实验一图像变换一、实验目的:1、巩固二维离散傅立叶变换的基本原理;2、掌握应用MATLAB语言对二维图像进行FFT及逆变换;掌握傅立叶变换的应用:线性滤波器的频率响应和图像特征定位;3、巩固离散余弦变换理论,掌握应用MATLAB语言对图像进行离散余弦变换,掌握离散余弦变换在JPEG编码中的应用;4、巩固离散沃尔什-哈达玛变换理论,掌握应用MATLAB语言对图像进行沃尔什-哈达玛变换。
二、实验内容:1.二维离散傅立叶变换1)参考实验书,用Matlab程序完成图5.5(a)中图形及其傅立叶变换,显示图形和三维图;2)读入一幅图像(LENA128.bmp),生成其傅立叶谱图,将此图像旋转45度,生成旋转45度后的谱图。
2.傅立叶变换的应用线性滤波器的频率响应产生二维矩形低通滤波器(滤波器参数自选),做此滤波器的频率响应图和空间域图形。
3.傅立叶变换的应用图像特征定位从图像text1.tif中选取一个特征(“图象”这两个字),在图像text2.tif中找出该特征的位置。
4.图像离散余弦变换及在JPEG中的应用1)对输入图像进行离散余弦变换,DCT系数门限值分别取0.6和4,显示变换后的系数图,显示DCT压缩后的图像。
2)DCT变换在JPEG压缩中的应用:将给定的图像harbour.tif划分为16×16的小块,做JPEG中DCT运算,并重构图像。
每小块的DCT系数保留左上角21个。
显示过程中图像DCT系数图,显示重构后的图像。
5.图像离散沃尔什-哈达玛变换读入一幅图像,对图像进行沃尔什-哈达玛变换。
并显示变换结果三.实验结果&结果分析:1.解答:(1)A=[];A(1:500,1:300)=0;for x=1:500for y=1:300;b=(x-250).^2/250^2+(y-150).^2/150^2; c=(x-250).^2/225^2+(y-150).^2/125^2; if (b<1 && c>1);A(x,y)=1;endendendimshow(A)F1=fft2(A,500,500);F=fftshift(F1);F2=log(abs(F));figure(2)imshow(F2,[0.1,5],'notruesize');colorbar figure(3)x=1:500;y=1:500;mesh(x,y,log(F(x,y)));colormap(gray);colorbar 图形及其傅立叶变换如下:(2)A=imread('LENA128.bmp');F1=fft2(A);F11=fftshift(F1);F111=log(abs(F11));B=imrotate(A,45);F2=fft2(B);F22=fftshift(F2);F222=log(abs(F22));subplot(2,2,1),imshow(A);subplot(2,2,2),imshow(F111,[]);subplot(2,2,3),imshow(B);subplot(2,2,4),imshow(F222,[]);图像的傅立叶谱图和旋转45度后的谱图如下:2.解答A=[];A(1:25,1:25)=0;for x=1:25for y=1:25b=(x-3).^2+(y-3).^2;if (b<10);A(x,y)=1;endendendsubplot(2,1,1),mesh(A);subplot(2,1,2),freqz2(A);滤波器的频率响应图和空间域图形如下:3.解答:bw=imread('text1.tif');A=bw(243:259,255:283);figure(1)imshow(A)bw1=imread('text2.tif');B=bw1(39:52,227:251);bw1=255-bw1;B=255-B;c=real(ifft2(fft2(bw1).*fft2(rot90(B,2),512,512))); figure(2)imshow(c,[])max(c(:))figure(3)imshow(c> ((4.7293e+006)-10));在图像中找出该特征的位置如下:4.解答:[A,map]=imread('LENA128.bmp');GRAY=mat2gray(A);D=dct2(GRAY);figure(1),subplot(3,1,1),imshow(log(abs(D)),[]); colormap(gray(4));colorbar;D(abs(D)<0.6)=0;I1=idct2(D)/255;subplot(3,1,2),imshow(I1);D1=dct2(GRAY);D1(abs(D1)<4)=0;I2=idct2(D1)/255;subplot(3,1,2),imshow(I2);(2)I=imread('harbour.tif');I=im2double(I);T=dctmtx(16);B=blkproc(I,[16 16],'P1*x*P2',T,T');mask=[];mask(1:16,1:16)=0;mask(1:5,1:4)=1;B2=blkproc(B,[16 16],'P1.*x',mask);I2=blkproc(B2,[16 16],'P1*x*P2',T',T);figure(2),subplot(2,1,1),imshow(I);subplot(2,1,2),imshow(I2);5.解答:[A,map]=imread('LENA128.bmp');GRAY=mat2gray(A);subplot(2,1,1),colormap(gray(128)),imagesc(GRAY);[m n]=size(GRAY)for k=1:nwht(:,k)=hadamard(m)*GRAY(:,k)/m;endfor j=1:mwh(:,j)=hadamard(n)*wht(j,:)'/nendwh=wh';subplot(2,1,2),colormap(gray(128)),imagesc(wh);四、实验分析由实验结果可知,在图像灰度转换过程中,其图像的清晰度随着灰度级的降低而降低。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1:灰度变换:
%matlab软件中,imadjust函数可以实现图像的灰度变换,用matlab语言编写的灰度变换例程如下所示:
%GRAY TRANSFORM
clc;
I=imread('C:/Documents and Settings/Administrator/桌面/cameraman.bmp');
imshow(I);
J=imadjust(I,[0.3 0.7],[0 1],1);%transform the values in the intensity images I to values in J linealy mapping values between 0.3 and 0.7 to values between 0 and 1
figure;
imshow(J);
J=imadjust(I,[0.3 0.7],[0 1],0.5);%if gamma is less than 1,the mapping is weighted toward highter (brighter) output values;
figure;
imshow(J);
J=imadjust(I,[0.3 0.7],[0 1],1.5);%if gamma is greater than 1,the mapping is weighted toward lower (darker) output values;
figure;
imshow(J);
%Gradient Sharpen
clc;
[I,map]=imread('C:/Documents and Settings/Administrator/桌面/cameraman.bmp');
imshow(I,map);
I=double(I);
[IX,IY]=gradient(I);%return the numerical gradient of the matrix F ,FX corresponds to dF/dx,the differences in the x column direction ,FY corresponds to dF/dy ,the differences in the y(row ) directions.
GM=sqrt(IX.*IX+IY.*IY);
OUT1=GM;
figure;
imshow(OUT1,map);
OUT2=I;
J=find(GM>=10);
OUT2(J)=GM(J);
figure;
imshow(OUT2,map);
OUT3=I;
J=find(GM>=10); OUT3(J)=255; figure;
imshow(OUT3,map); OUT4=I;
J=find(GM<=10); OUT4(J)=255; figure;
imshow(OUT4,map); OUT5=I;
J=find(GM>=10); OUT5(J)=255;
Q=find(GM<10); OUT5(Q)=0; figure;
imshow(OUT5,map);。