霍夫直线图像校正Matlab实例

霍夫直线图像校正Matlab实例
霍夫直线图像校正Matlab实例

霍夫直线图像校正ceshi.m

clc; clear all; close all;

Img = imread('.\images\test.jpg');

I = rgb2gray(Img);

bw = im2bw(I, graythresh(I));

[Img1, theta] = HoughProcess(Img, bw);

HoughProcess.m

function [Img1, theta] = HoughProcess(Img, bw)

% 霍夫直线法

% 输入参数:

% Img——图像矩阵

% bw——二值图像矩阵

% 输出参数:

% Img1——倾斜校正结果

% theta——倾斜角度

[H, T, R] = hough(bw);

P = houghpeaks(H, 4, 'threshold', ceil(0.3*max(H(:))));

x = T(P(:,2)); y = R(P(:,1));

lines = houghlines(bw, T, R, P, 'FillGap', 50, 'MinLength', 7); max_len = 0;

for k = 1 : length(lines)

xy = [lines(k).point1; lines(k).point2];

len = norm(lines(k).point1-lines(k).point2);

Len(k) = len;

if (len > max_len)

max_len = len;

xy_long = xy;

end

end

% 强调最长的部分

[L1, Index1] = max(Len(:));

% 最长线段的起始和终止点

x1 = [lines(Index1).point1(1) lines(Index1).point2(1)];

y1 = [lines(Index1).point1(2) lines(Index1).point2(2)];

% 求得线段的斜率

K1 = -(lines(Index1).point1(2)-lines(Index1).point2(2))/...

(lines(Index1).point1(1)-lines(Index1).point2(1));

theta = atan(K1)*180/pi;

% imrotate是逆时针的所以取一个负号

Img1 = imrotate(Img, -theta, 'bilinear');

figure; imshow(Img); hold on;

plot(xy_long(:,1),xy_long(:,2),'LineWidth',2,'Color','blue'); hold off;

figure;

subplot(1, 2, 1); imshow(Img)

subplot(1, 2, 2); imshow(Img1)

hold off;

matlab图像处理的几个实例

Matlab图像处理的几个实例(初学者用) 1.图像的基本信息及其加减乘除 clear,clc; P=imread('yjx.jpg'); whos P Q=imread('dt.jpg'); P=im2double(P); Q=im2double(Q); gg1=im2bw(P,0.3); gg2=im2bw(P,0.5); gg3=im2bw(P,0.8); K=imadd(gg1,gg2); L=imsubtract(gg2,gg3); cf=immultiply(P,Q); sf=imdivide(Q,P); subplot(421),imshow(P),title('郁金香原图'); subplot(422),imshow(gg1),title('0.3'); subplot(423),imshow(gg2),title('0.5'); subplot(424),imshow(gg3),title('0.8'); subplot(425),imshow(K),title('0.3+0.5'); subplot(426),imshow(L),title('0.5-0.3'); subplot(427),imshow(cf),title('P*Q'); subplot(428),imshow(sf),title('P/Q'); 2.图像缩放 clear,clc; I=imread('dt.jpg'); A=imresize(I,0.1,'nearest'); B=imresize(I,0.4,'bilinear'); C=imresize(I,0.7,'bicubic'); D=imresize(I,[100,200]); F=imresize(I,[400,100]); figure subplot(321),imshow(I),title('原图'); subplot(322),imshow(A),title('最邻近插值'); subplot(323),imshow(B),title('双线性插值'); subplot(324),imshow(C),title('二次立方插值'); subplot(325),imshow(D),title('水平缩放与垂直缩放比例为2:1'); subplot(326),imshow(F),title('水平缩放与垂直缩放比例为1:4');

霍夫变换

‘IEEE Transactions on Pattern Recognition And Machine Intelligence’ ‘IEEE Transactions on Image Processing’ 是最重要的两本,其它的如ICCV、CVPR、ECCV、NIPS、BMVC等的会议文章也非常好。 最小二乘线性拟合算法、随机霍夫变换、局部霍夫变换、 canny算子边缘检测、图像增强 霍夫变换 霍夫变换(Hough Transform)是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法。主要用来从图像中分离出具有某种相同特征的几何形状(如,直线,圆等)。最基本的霍夫变换是从黑白图像中检测直线(线段)。 详细内容 我们先看这样一个问题:设已知一黑白图像上画了一条直线,要求出这条直线所在的位置。我们知道,直线的方程可以用y=k*x+b 来表示,其中k和b是参数,分别是斜率和截距。过某一点(x0,y0)的所有直线的参数都会满足方程y0=kx0+b。即点(x0,y0)确定了一组直线。方程y0=kx0+b在参数k--b平面上是一条直线(你也可以是方程b=-x0*k+y0对应的直线)。这样,图像x--y平面上的一个前景像素点就对应到参数平面上的一条直线。我们举个例子说明解决前面那个问题的原理。设图像上的直线是y=x, 我们先取上面的三个点:A(0,0), B(1,1), C(2,2)。可以求出,过A点的直线的参数要满足方程b=0, 过B点的直线的参数要满足方程1=k+b, 过C点的直线的参数要满足方程2=2k+b, 这三个方程就对应着参数平面上的三条直线,而这三条直线会相交于一点(k=1,b=0)。同理,原图像上直线y=x上的其它点(如(3,3),(4,4)等) 对应参数平面上的直线也会通过点(k=1,b=0)。 应用 这个性质就为我们解决问题提供了方法:首先,我们初始化一块缓冲区,对应于参数 平面,将其所有数据置为0.对于图像上每一前景点,求出参数平面对应的直线,把这 直线上的所有点的值都加1。最后,找到参数平面上最大点的位置,这个位置就是原 图像上直线的参数。上面就是霍夫变换的基本思想。就是把图像平面上的点对应到参 数平面上的线,最后通过统计特性来解决问题。假如图像平面上有两条直线,那么最 终在参数平面上就会看到两个峰值点,依此类推。在实际应用中,y=k*x+b形式的直 线方程没有办法表示x=c形式的直线(这时候,直线的斜率为无穷大)。所以实际应用 中,是采用参数方程p=x*cos(theta)+y*sin(theta)。这样,图像平面上的一个点就 对应到参数p—theta平面上的一条曲线上。其它的还是一样。 应用实例1

Matlab小波变换函数

Matlab小波函数 Allnodes 计算树结点 appcoef 提取一维小波变换低频系数 appcoef2 提取二维小波分解低频系数 bestlevt 计算完整最佳小波包树 besttree 计算最佳(优)树 *biorfilt 双正交样条小波滤波器组 biorwavf 双正交样条小波滤波器 *centfrq 求小波中心频率 cgauwavf Complex Gaussian小波 cmorwavf coiflets小波滤波器 cwt 一维连续小波变换 dbaux Daubechies小波滤波器计算 dbwavf Daubechies小波滤波器dbwavf(W) W='dbN' N=1,2,3,...,50 ddencmp 获取默认值阈值(软或硬)熵标准 depo2ind 将深度-位置结点形式转化成索引结点形式detcoef 提取一维小波变换高频系数 detcoef2 提取二维小波分解高频系数 disp 显示文本或矩阵 drawtree 画小波包分解树(GUI) dtree 构造DTREE类 dwt 单尺度一维离散小波变换

dwt2 单尺度二维离散小波变换 dwtmode 离散小波变换拓展模式 *dyaddown 二元取样 *dyadup 二元插值 entrupd 更新小波包的熵值 fbspwavf B样条小波 gauswavf Gaussian小波 get 获取对象属性值 idwt 单尺度一维离散小波逆变换 idwt2 单尺度二维离散小波逆变换 ind2depo 将索引结点形式转化成深度—位置结点形式*intwave 积分小波数 isnode 判断结点是否存在 istnode 判断结点是否是终结点并返回排列值 iswt 一维逆SWT(Stationary Wavelet Transform)变换iswt2 二维逆SWT变换 leaves Determine terminal nodes mexihat 墨西哥帽小波 meyer Meyer小波 meyeraux Meyer小波辅助函数 morlet Morlet小波 nodease 计算上溯结点 nodedesc 计算下溯结点(子结点)

Matlab课设_图像的输入输出及格式转换

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目:利用MATLAB仿真软件进行图像的输入、输出和格式变换 要求完成的主要任务: 读取、保存和显示不同格式的图像,并进行图像格式的相互变换如索引图像、灰度图像、RGB图像和二值图像的相互转换 课程设计的目的: 1.理论目的 课程设计的目的之一是为了巩固课堂理论学习,并能用所学理论知识正确分析信号处理的基本问题和解释信号处理的基本现象。 2.实践目的 课程设计的目的之二是通过设计具体的图像信号变换掌握图像和信号处理的方法和步骤。 课程设计的要求: 每个学生单独完成课程设计内容,并写出课程设计说明书、给出程序清单,最后通过课程设计答辩。 时间安排: 指导教师签名:年月日 系主任(或责任教师)签字:年月日

目录 摘要 ......................................................................................................................................... I Abstract ................................................................................................................................... II 1设计项目要求与说明 (1) 1.1设计项目要求 (1) 1.2Matlab简介及其在图像处理与分析的应用 (1) 1.2.1Matlab简介 (1) 1.2.2数字图像及其处理 (1) 1.2.3Matlab在图像处理与分析的应用 (3) 2软件流程分析 (6) 2.1图像的读取 (6) 2.2图像的显示 (6) 2.2.1以图像形式输出(图像的显示) (6) 2.2.2索引图像的显示 (7) 2.2.3灰度图像的显示 (7) 2.2.4二值图像的显示 (7) 2.2.5RGB图像的显示 (7) 2.2.6以图像文件的形式输出(图像文件形式之间的转换) (7) 2.3图像的保存 (8) 2.4图像类型的相互转换 (9) 2.4.1RGB图像→灰度图像 (9) 2.4.2RGB图像→索引图像 (9) 2.4.3RGB图像→二值图像 (9) 2.4.4索引图像→RGB图像 (9) 2.4.5索引图像→灰度图像 (10) 2.4.6灰度图像→索引图像 (10) 2.4.7灰度图像→二值图像 (10) 3调试分析 (11) 3.1图像读取 (11) 3.2图像显示 (12) 3.2.1索引图像显示 (12) 3.2.2灰度图像显示 (12) 3.2.3二值图像显示 (13) 3.2.4RGB图像显示 (13) 3.3图像类型的相互转换 (14)

图像处理实例(含Matlab代码)

信号与系统实验报告——图像处理 学院:信息科学与工程学院 专业:2014级通信工程 组长:** 组员:** 2017.01.02

目录 目录 (2) 实验一图像一的细胞计数 (3) 一、实验内容及步骤 (3) 二、Matlab程序代码 (3) 三、数据及结果 (4) 实验二图像二的图形结构提取 (5) 一、实验内容及步骤 (5) 二、Matlab程序代码 (5) 三、数据及结果 (6) 实验三图像三的图形结构提取 (7) 一、实验内容及步骤 (7) 二、Matlab程序代码 (7) 三、数据及结果 (8) 实验四图像四的傅里叶变化及巴特沃斯低通滤波 (9) 一、实验内容及步骤 (9) 二、Matlab程序代码 (9) 三、数据及结果 (10) 实验五图像五的空间域滤波与频域滤波 (11) 一、实验内容及步骤 (11) 二、Matlab程序代码 (11) 三、数据及结果 (12)

实验一图像一的细胞计数 一、实验内容及步骤 将该图形进行一系列处理,计算得到途中清晰可见细胞的个数。 首先,由于原图为RGB三色图像处理起来较为麻烦,所以转为灰度图,再进行二值化化为黑白图像,得到二值化图像之后进行中值滤波得到细胞分布的初步图像,为了方便计数对图像取反,这时进行一次计数,发现得到的个数远远多于实际个数,这时在进行一次中值滤波,去掉一些不清晰的像素点,剩下的应该为较为清晰的细胞个数,再次计数得到大致结果。 二、Matlab程序代码 clear;close all; Image = imread('1.jpg'); figure,imshow(Image),title('原图'); Image=rgb2gray(Image); figure,imshow(Image),title('灰度图'); Theshold = graythresh(Image); Image_BW = im2bw(Image,Theshold); Reverse_Image_BW22=~Image_BW; figure,imshow(Image_BW),title('二值化图像'); Image_BW_medfilt= medfilt2(Image_BW,[3 3]); figure,imshow(Image_BW_medfilt),title('中值滤波后的二值化图像'); Reverse_Image_BW = ~Image_BW_medfilt; figure,imshow(Reverse_Image_BW),title('图象取反'); Image_BW_medfilt2= medfilt2(Reverse_Image_BW,[20 20]); figure,imshow(Image_BW_medfilt2),title('第二次中值滤波的二值化图像'); [Label, Number]=bwlabel(Image_BW_medfilt,8);Number [Label, Number]=bwlabel(Image_BW_medfilt2,8);Number

几种车牌图像倾斜角度矫正算法

汽车牌照图像倾角矫正方法研究 首先我们对汽车牌照图像进行边缘检测,找出图像与背景的交线,然后就可以通过一定算法确定图像的倾斜角度了。这里采用了Sobel水平方向算子对图像中的水平边缘直线进行检测[2]。 检测出图像中的直线后,我们要对其倾角进行计算,这里选用了Hough变换法、Radon变换法、最小二乘法和两点法四种方法来计算直线的倾角,下面将具体研究这四种方法并对其优缺点做出比较。 1 Hough变换法 利用Hough变换法提取直线是一种变换域提取直线的方法,它把直线上的坐标变换到过点的直线的系数域,巧妙的利用了共线和直线相交的关系。 它的原理很简单:假设有一条与原点距离为s,方向角为θ的一条直线,如图3.1所示: 图1 一条与原点距离为s,方向角为θ的直线 直线上的每一点都满足方程: θs i n θ =(3.1) s+ x c o s y 证明过程如下:

图2 坐标变换原理图 如图3.2所示: θc o s θ =(3.2) oc= ob c o s x θs i n θ =(3.3) nc= nb s i n y 所以: θ θs i n = s+ + =(3.4) c o s y x nc oc m为直线l上任意一点 nd- - y - =(3.5) = ( )1 y ,1x x md 因为: θs i n θ df- = =(3.6) nd y )1 ( s i n y θc o s θ - = =(3.7) df- md ( c o s x x )1 所以: θ θc o s θ θ y y+ x = - -(3.8) s i n x 1 c o s s i n 1 所以: θs i n θ θ θ x s+ = =(3.9) + y c o s y 1 c o s 1 s i n x 所以直线上任意一点都满足 θ θs i n =(3.10) s+ c o s y x

基于MATLAB的(小波)图像处理

基于MATLAB的(小波)图像处理 姓名:宋富冉 学号:P1******* 院系:电子信息工程学院 专业:电子与通信工程 日期:2015年11月7日

目录 摘要 (3) 第一章初期准备 1.1软件知识储备及学习 (4) 1.2 MATLAB操作平台安装及应用 (4) 1.3操作函数功能及调试 (5) 第二章图像准备 2.1图像采集 (6) 2.2 图像选择和保存 (6) 第三章程序设计及实现 3.1 软件编程调试 (7) 3.2 实现及优化程序 (11) 第四章完成任务报告 4.1报告书写 (12) 4.2总结 (12) 附录 (13)

摘要 本报告主要阐述有关于MABLAT在图像处理方面实际应用中的 六个方面的问题,分别涉及图像的读取、图像添加噪声、利用小波 函数对图像进行分割、分割后图像的重构、图像去除噪声、将程序 处理过程中所得各种图像确定存储格式并保存到指定的磁盘及命名。最终得到预期任务的要求,完成任务。 关键词:图像读取,图像加噪,图像去噪,图像重构,图像保存

第一章初期准备 1.1软件知识储备及学习 由于本人从未学习过MATLAB这门课程及其编程语言,对其一无所知,在之前的学习过程中,比较多的是应用C语言进行一些简单的及较复杂的任务编程。因此,接到任务之日起,本人就开始学习储备有关于此方面的软件知识,并逐步学习了解它的奥妙所在。 首先,是漫无目的的到图书馆查找有关于此类的各种书籍,并上网搜索各类处理程序和文档,以期寻求到刚好符合此次作业任务要求的完整程序设计及源代码。结果是可想而知的,并没有完全吻合的程序与代码。其次,在以上的查找翻看过程中,本人接触到了很多与此任务相关相通的程序设计和处理函数的功能及应用知识,受其启发,自我总结,将实现本任务所要用到的功能函数一一搜集了起来,初步了解了本任务如何开启。 1.2 MATLAB操作平台安装及应用 通过前期的理论准备,下一步就要开始上机实际操作和仿真各个函数在实际应用中的效果。第一步,就是寻求MATLAB操作平台的安装包或安装程序,在自己的桌面上把它装起来,以便后面随时随地使用操作,也为后期更深入的学习此门语言而准备好最基本的学习工具,从而为以后完全掌握此门语言工具打下基础。第二步,就是对本平台的安装和使用,由于此平台有中英文两个版本,于是这对我本人又是一种考验,由于英语专业词汇并不完全过关,对操作菜单中多个名词词组的用意并

MATLAB仿真软件进行图像的输入、输出和格式变换

目录 摘要................................................................ I Abstract........................................................... II 1 图像文件格式及图像类型.. (1) 1.1 MATLAB支持的几种图像文件格式: (1) 1.2 matlab几种图像类型 (2) 2 图像的输入 (4) 3.图像的输入 (6) 3.1以图像形式输出(图像的显示) (6) 3.1.1索引图像的显示 (6) 3.1.2灰度图像的显示 (7) 3.1.3二值图像的显示 (8) 3.1.4 RGB图像的显示 (8) 3.2以图像文件的形式输出 (9) 4 图像的保存 (11) 5 图像类型转换 (13) 5.1 RGB转换成灰度图像 (13) 5.2 灰度图像转换为索引图像 (13) 5.3 灰度图像转化为二值图像 (14) 5.4 RGB图像转化为索引图像 (15) 6 课设总结 (16) 参考文献 (17) 附录 (18) 附录1:图像显示代码 (18) 附录2:图像转换代码 (19)

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB 本身就是功能强大的数据可视化工具,可以通过各种形式显示分析数据,例如灰度直方图、等高线、蒙太奇混合、像素分析、图层变换以及材质贴图等。利用可视化的图形,不仅能够评估图形图像的特性,还能够分析图像中的色彩分布等情况。 本次课程设计介就是Matlab环境下的一些最基本的图像处理操作,如读取、保存和显示不同格式的图像,并进行图像格式的相互变换如索引图像、灰度图像、RGB图像和二值图像的相互转换。 关键词:MATLAB ;图像处理;图像转换

MATLAB中图像函数大全 详解及例子

图像处理函数详解——strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。 用法:SE=strel(shape,parameters) 创建由指定形状shape对应的结构元素。其中shape的种类有 arbitrary' 'pair' 'diamond' 'periodicline' 'disk' 'rectangle' 'line' 'square' 'octagon 参数parameters一般控制SE的大小。 例子: se1=strel('square',6) %创建6*6的正方形 se2=strel('line',10,45) %创建直线长度10,角度45 se3=strel('disk',15) %创建圆盘半径15 se4=strel('ball',15,5) %创建椭圆体,半径15,高度5

图像处理函数详解——roipoly 功能:用于选择图像中的多边形区域。 用法:BW=roipoly(I,c,r) BW=roipoly(I) BW=roipoly(x,y,I,xi,yi) [BW,xi,yi]=roipoly(...) [x,y,BW,xi,yi]=roipoly(...) BW=roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。BW选中的区域为1,其他部分的值为0. BW=roipoly(I)表示建立交互式的处理界面。 BW=roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。 例子:I=imread('eight.tif'); c=[222272300270221194]; r=[21217512112175]; BW=roipoly(I,c,r); imshow(I)

matlab图像输出设置

核心方法:通过图像设置命令,直接指定图片的大小。 具体操作: (1) 完成画图及相关设置(字体大小、线宽、图例大小也是正常尺寸), (2) 此时WindowStyle is 'docked',要改为normal,有两种操作: 1)在Figure properties——more properties中找到 Windowstyle,然后用鼠标改为normal; 2)或者直接用命令: set (gcf,'windowstyle','normal') (3) 根据排版要求,确定图片的宽高,例如320*320 像素,然后使用命令 set (gcf,'Position',[500,300,320,320]) set(gcf,'Units','centimeters','Position',[100 100 98]); % figure的position中的[left bottom width height] 是指figure的可画图的部分的左下角的坐标以及宽度和高度。 (4) 使用copy figure将图片输出到Word 1.figure; 2.hold on; 3.set(gca, 'YTick', [0 : 0.2 : 1]); 4.box off; 5.set(gca, 'YTickLabel', {'matlab1', 'matlab2', 'matlab3',... 6. 'matlab4', 'matlab5', 'matlab6'}) 1.hold on 2.xL=xlim; 3.yL=ylim; 4.plot(xL,[yL(2),yL(2)],'k',[xL(2),xL(2)],[yL(1),yL(2)],'k') 5.box off 6.axis([xL yL])

基本文本图像的倾斜校正

课程设计说明书题目:基本文本图像的倾斜校正 学院(系)电气工程学院 年级专业: 11级仪表三班 学号: ************* 学生姓名: ****** 指导教师: 教师职称:副教授副教授

燕山大学课程设计(论文)任务书

摘要 数字信息时代人们更多地依赖图像这一媒介,而比较常用的文本图像的倾斜问题无疑图像应用的是一大障碍。为了解决文本倾斜的自动校正功能,本文列举了四种倾斜校正的方法,涉及到基于文本图像边缘、矩形边缘的校正、基于文字向各方向投影的校正、基于投影实现特殊方向的文本校正、基于傅立叶频域分析的校正四种方法。本文方法涵盖了图形图像边缘倾斜校正、表格的倾斜校正、打印及手写文本的倾斜校正、90度特殊角情况的文本校正、180度倒立文字的校正,适用面广。通过实验验证以及与目前具有相关代表性的方法对比,论证了本文所采用的算法对带有表格、图像、手写体,以及各种语言的文本具有很好的校正效果,具有良好的有效性和可靠性。 关键词:倾斜校正、文本、边缘、投影、傅里叶。

目录 一、引言 (5) 二、算法综述 (5) 三、各算法原理分析及实现代码: (5) 四、各算法评价 (16) 五、课程设计总结 (17) 参考文献 (17)

第一章引言 在现今数字信息化高速发展的大时代背景下,随着数码产品的拍照能力越来越出色,人们更多地将信息的存储和传输依靠在数字图像这一媒介上。而文字的数字图像化——数字化图书库、pdf纸质电子书、文字扫描的发展,无疑对文本的转换技术提出了更高的要求。谈到数字图像化文本,就不得不提到这一技术遇到的最大障碍之一:输入文本图像的倾斜问题。正基于这一普遍存在的问题,我们提出了文本、图像的倾斜校正这一课题。 第二章算法综述 论文的倾斜校正共涉及以下四种方法: 1)基于文本图像边缘、矩形边缘的倾斜校正。 2)基于文字向各方向投影的倾斜校正,90度以下都能用。 3)基于投影实现特殊方向的文本——垂直和倒立文本的校正。 4)基于傅立叶频域分析的文本、表格、图像的倾斜校正。 第三章各算法原理分析及实现代码 1)基于文本图像边缘、矩形边缘的倾斜校正 适用范围:具有清晰边缘的图片、形状,倾斜角小于45度。 1.将图像转化为灰度图像。使用MATLAB进行处理时,所读入的图像是RGB三维矩阵, 在以后的处理中用到的是灰度图像和二值图像,因此,必须经过处理变成灰度图像。 2.用im2bw函数实现图像的二值化,变成只有0和1的图片。一幅图像包括目标物体、 背景还有噪声,要想从多值的数字图像中直接提取出目标物体,最常用的方法就是

基于MATLAB的小波变换在信号分析中应用的实现

基于MATLAB的小波变换在信号分析中应用的实现 院系:应用技术学院 专业:电子信息工程 姓名:李成云 指导教师单位:应用技术学院 指导教师姓名:王庆平 指导教师职称:讲师 二零一一年六月

The application of wavelet transform based on MTLAB in signal analysis Faculty:Application and Technology Institute Profession:Electronic information engeering Name:Li Chengyun Tutor’s Unit:Application and Technology Institute Tutor:Wang Qingping Tutor’s Title:Lecturer June 2011

第 I 页 目录 摘要 (1) ABSTRACT (2) 前言 (3) 第1章 绪论 (4) 1.1 本文的研究背景意义 (4) 1.2 国内外研究现状 (5) 1.3 本文的研究内容 (7) 第2章 MATLAB 简介 (8) 2.1 MATLAB 的概况 (8) 2.2 MATLAB6.1 的功能 (8) 2.3 MATLAB 的主要组成部分 (9) 2.4 MATLAB 的语言特点 (10) 第3章 基本理论 (12) 3.1 从傅里叶变换到小波变换 (12) 3.1.1 傅里叶变换 (12) 3.1.2 短时傅里叶变换 (13) 3.1.3 小波变换 (14) 3.2 连续小波变换 (15) 3.3 离散小波变换 (17) 3.4 小波包分析 (18) 3.5 多分辨率分析与M ALLAT 算法 (19) 3.5.1 多分辨率分析 (19) 3.5.2 Mallat 算法 (19) 3.6 本章小结 (20) 第4章 小波阈值法图像去噪 (21) 4.1 图像去噪 (21) 4.1.1 邻域平均法 (22) 4.1.2 中值滤波法 (24) 4.2 小波阈值去噪 (27) 4.2.1 阈值去噪原理 (28) 4.2.2 选取阈值函数 ................................................ 28 4.2.3 几种阈值选取方法 .. (29)

MATLAB图像操作命令大全

MATLAB常用图像操作 一. 读写图像文件 1. imread imread函数用于读入各种图像文件,如:a=imread('e:\w01.tif') 注:计算机E盘上要有w01相应的.tif文件。 2. imwrite imwrite函数用于写入图像文件,如:imwrite(a,'e:\w02.tif',’tif’) 3. imfinfo imfinfo函数用于读取图像文件的有关信息,如:imfinfo('e:\w01.tif') 二. 图像的显示 1. image image函数是MATLAB提供的最原始的图像显示函数(主要彩色显示图象),如:a=[1,2,3,4;4,5,6,7;8,9,10,11,12]; image(a); 2. imshow imshow函数用于灰度图像文件的显示,如: i=imread('e:\w01.tif'); imshow(i); 3. colorbar colorbar函数用显示图像的颜色条。 通常,颜色映象进行过调节,把数据从最小扩展到最大,也就是说整个颜色映象都用于绘图。有时也许想改变颜色使用的方法。函数caxis代表颜色轴,因为颜

色增加了另一个维数,它允许对数据范围的一个子集使用整个颜色映象或者对数据的整个集合只使用当前颜色映象的一部分。 [cmin,cmax]=caxis返回映射到颜色映象中第一和最后输入项的最小和最大的数据。它们通常被设成数据的最小值和最大值。比如,函数mesh(peaks) 会画出函数peaks的网格图,并把颜色轴caxis设为[-6.5466,8.0752],即Z的最小值和最大值。这些值之间的数据点,使用从颜色映象中经插值得到的颜色。如:i=imread('e:\w01.tif'); imshow(i); colorbar; 4 .figure figure函数用于设定图像显示窗口,如:figure(1); /figure(2); 5.imagesc(a); caxis([-3 8]) ; colorbar; 标尺标度从-3,到8 显示标度尺。 三. 图像的变换 1. fft2 fft2函数用于数字图像的二维傅立叶变换,如: i=imread('e:\w01.tif'); j=fft2(i); 2. ifft2 ifft2函数用于数字图像的二维傅立叶反变换,如: i=imread('e:\w01.tif'); j=fft2(i);

图像增强及MATLAB实现

《数字图像处理》课程设计 课设题目:图像增强与MATLAB实现学校学院:华东交通大学理学院 学生班级:13级信息计算(2)班学生:超 学生学号:20130810010216 指导老师:自柱

图像增强与MATLAB实现 摘要 数字图像处理是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。图像增强是数字图像处理的过程中经常采用的一种方法,它对提高图像质量起着重要的作用。本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、对比度增强、平滑和锐化等几种常用的增强方法的理论基础,通过Matlab实验得出的实际处理效果来对比各种算法的优缺点,讨论不同的增强算法的技术要点,并对其图像增强方法进行性能评价。 关键字:图像;图像增强;算法

目录 一、MATLAB的简介 (1) 1.1MATLAB主要功能 (1) 二、MATLAB的主要功能 (1) 2.1数字增强技术概述 (1) 2.2数字图像的表示 (2)

三、直方图的均衡化 (2) 3.1图像的灰度 (2) 3.2灰度直方图 (2) 3.3直方图均衡化 (3) 四、图像二值化 (5) 4.1图像二值化 (5) 五、对比度增强 (7) 5.1对比度增强 (7) 5.2灰度调整 (8) 5.3对数变换 (9) 六、滤波 (10) 6.1平滑滤波 (10) 6.2线性平滑滤波程序: (11) 6.3非线性滤波 (12) 七、锐化 (18) 八、参考文献 (19) 九、自我评价 (20)

一、Matlab的简介 1.1 MATLAB主要功能 MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。目前,已成为工程领域中较常用的软件工具包之一。 二、MATLAB的主要功能 2.1数字增强技术概述 图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些信息使得图像更加实用。图像增强技术主要包含直方图修改处理、图像平滑处理、图像尖锐化处理等。 图像增强技术主要包括:直方图修改处理,图像平滑处理,图像尖锐化处理,彩色图像处理。从纯技术上讲主要有两类:频域处理法和空域处理法。 频域处理法主要是卷积定理,采用修改图像傅立叶变换的方法实现对图像的增强处理技术;空域处理法:是直接对图像中的像素进行处理,基本上是以灰度映射变换为基础的。

一个小波变换实例及matlab实现

1、 选择()t ?或?()? ω,使{}()k Z t k ?∈-为一组正交归一基; 2、 求n h 。 1,(),()n n h t t ??-= 或??()(2)/()H ω?ω?ω= 3、 由n h 求n g 。 1(1)n n n g h -=- 或()()i G e H t ωωωπ-= 4、 由n g ,()t ?构成正交小波基函数() t φ 1,()()n n t g t φ?-=∑ 或??()(/2)(/2)G φωω?ω= Haar 小波的构造 1)、选择尺度函数。 101 ()0t t ? ≤≤?=? ?其他 易知(n)t ?-关于n 为一正交归一基。 2)、求n h 1,(),()n n h t t ??- =()2t-n)t dt ??( 其中 1 1(2)220n n t t n ?+? ≤≤?-=?? ?其他 当n=0时, 1 1(2)20t t ?? 0≤≤?=?? ?其他 当n=1时,

1 11(21)20t t ?? ≤≤?-=?? ?其他 故,当n=0,n=1时 1()(2)0n n t t n ?? =0,=1 ??-=? ?其他 当n=0时, ()(2)t t n ???-1 120t ? 0≤≤?=?? ?其他 当n=1时, ()(2)t t n ???-1 1120t ? ≤≤?=?? ?其他 故 n h ()2t-n)t dt ?? (1/0n n ?=0,=1 ?=? ??其他 3)、求n g 。 11/0 (1)1/10n n n n g h n -?=??=-=-=?? ??其他 4)、求()t φ。 1,()()n n t g t φ?-=∑ =0-1,011,1()()g t g t ??-+ (2)(21)t t - =1 102 111 20t t ? ≤≤???- ≤≤?? ??? 其他

图像处理matlab程序实例

程序实例 1旋转: x=imread('d:\MATLAB7\work\flower.jpg'); y=imrotate(x,200,'bilinear','crop'); subplot(1,2,1); imshow(x); subplot(1,2,2); imshow(y) 2.图像的rgb clear [x,map]=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh1.jpg');y=x(90:95,90:95);imshow(y)R=x(90:95,90:95,1);G=x(90:95,90:95,2);B=x(90:95,90:95,3);R,G,B 3.加法运算clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh3.jpg');J=imnoise(I,'gaussian',0,0.02);%向图片加入高斯噪声subplot(1,2,1),imshow(I);%显示图片subplot(1,2,2),imshow(J);K=zeros(242,308);%产生全零的矩阵,大小与图片的大小一样for i=1:100%循环100加入噪声J=imnoise(I,'gaussian',0,0.02);J1=im2double(J);K=K+J1;end K=K/100; figure,imshow(K);save

4.减法 clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); J=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao1.jpg'); K=imsubtract(I,J);%实现两幅图相减 K1=255-K;%将图片求反显示 figure;imshow(I); title('有噪声的图'); figure;imshow(J); title('原图'); figure;imshow(K1); title('提取的噪声'); save 5.图像的乘法 H=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); I=immultiply(H,1.2);将此图片乘以1.2 J=immultiply(H,2); subplot(1,3,1),imshow(H); title('原图'); subplot(1,3,2),imshow(I); title('·放大1.2'); subplot(1,3,3),imshow(J); title('放大2倍'); 6除法运算 moon=imread('moon.tif'); I=double(moon); J=I*0.43+90; K=I*0.1+90; L=I*0.01+90; moon2=uint8(J); moon3=uint8(K); moon4=uint8(L); J=imdivide(moon,moon2); K=imdivide(moon,moon3); L=imdivide(moon,moon4); subplot(2,2,1),imshow(moon); subplot(2,2,2),imshow(J,[]); subplot(2,2,3),imshow(K,[]); subplot(2,2,4),imshow(L,[]);

数字图像处理MATLAB程序【完整版】

第一部分数字图像处理

实验一图像的点运算 实验1.1直方图 一.实验目的 1 ?熟悉matlab图像处理工具箱及直方图函数的使用; 2?理解和掌握直方图原理和方法; 二.实验设备 1. PC 机一台; 2.软件matlab。 三.程序设计 在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。l=imread('camerama n.tif);% 读取图像 subplot(1,2,1),imshow(l) % 输出图像 title(' 原始图像')% 在原始图像中加标题subplot(1,2,2),imhist(l) % 输出原图直方图 title(' 原始图像直方图')%在原图直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab 环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像; 3?浏览源程序并理解含义; 4. 运行,观察显示结果; 5. 结束运行,退出; 五.实验结果 观察图像matlab环境下的直方图分布。 (a)原始图像(b) 原始图像直方图 六.实验报告要求 1、给出实验原理过程及实现代码; 2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2灰度均衡 一.实验目的 1 .熟悉matlab图像处理工具箱中灰度均衡函数的使用; 2?理解和掌握灰度均衡原理和实现方法; 二.实验设备 1. PC机一台; 2. 软件matlab ; 三.程序设计 在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。l=imread('camerama n.tif);% 读取图像 subplot(2,2,1),imshow(l) % 输出图像title(' 原始图像')% 在原始图像中加标题subplot(2,2,3),imhist(l) % 输出原图直方图 title(' 原始图像直方图')%在原图直方图上加标题a=histeq(l,256); % 直方图均衡化,灰度级为256 subplot(2,2,2),imshow(a) % 输出均衡化后图像title(' 均衡化后图像')%在均衡化后图像中加标题 subplot(2,2,4),imhist(a) % 输出均衡化后直方图 title(' 均衡化后图像直方图')%在均衡化后直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab 环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像; 3?浏览源程序并理解含义; 4. 运行,观察显示结果; 5. 结束运行,退出; 五.实验结果 观察matlab环境下图像灰度均衡结果及直方图分布。 均衡化后图像

小波变换图像去噪MATLAB实现

基于小波图像去噪的MATLAB 实现 一、 论文背景 数字图像处理(Digital Image Processing ,DIP)是指用计算机辅助技术对图像信号进行处理的过程。数字图像处理最早出现于 20世纪50年代,随着过去几十年来计算机、网络技术和通信的快速发展,为信号处理这个学科领域的发展奠定了基础,使得DIP 技术成为信息技术中最重要的学科分支之一。在现实生活中,DIP 应用十分广泛,医疗、艺术、军事、航天等图像处理影响着人类生活和工作的各个方面。 然而,在图像的采集、获取、编码和传输的过程中,都存在不同程度被各种噪声所“污染”的现象。如果图像被污染得比较严重,噪声会变成可见的颗粒形状,导致图像质量的严重下降。根据研究表明,当一图像信噪比(SNR)低于14.2dB 时,图像分割的误检率就高于0.5%,而参数估计的误差高于0.6%。通过一些卓有成效的噪声处理技术后,尽可能地去除图像噪声,我们在从图像中获取信息时就更容易,有利于进一步的对图像进行如特征提取、信号检测和图像压缩等处理。小波变换处理应用于图像去噪外,在其他图像处理领域都有着十分广泛的应用。本论文以小波变换作为分析工具处理图像噪声,研究数字图像的滤波去噪问题,以提高图像质量。 二、 课题原理 1.小波基本原理 在数学上,小波定义为对给定函数局部化的新领域,小波可由一个定义在有限区域的函数()x ψ来构造,()x ψ称为母小波,(mother wavelet )或者叫做基本小波。一组小波基函数,()}{,x b a ψ,可以通过缩放和平移基本小波 来生成:

())(1 ,a b x a x b a -ψ=ψ (1) 其中,a 为进行缩放的缩放参数,反映特定基函数的宽度,b 为进行平移的平移参数,指定沿x 轴平移的位置。当a=2j 和b=ia 的情况下,一维小波基函数序列定义为: ()() 1222,-ψ=ψ--x x j j j i (2) 其中,i 为平移参数,j 为缩放因子,函数f (x )以小波()x ψ为基的连续小波变换定义为函数f (x )和()x b a ,ψ的积: ( )dx a b x a x f f x W b a b a )(1)(,,,-ψ= ψ=?+∞∞- (3) 与时域函数对应,在频域上则有: ())(,ωωa e a x j b a ψ=ψ- (4) 可以看出,当|a|减小时,时域宽度减小,而频域宽度增大,而且()x b a ,ψ的窗口中心向|ω|增大方向移动。这说明连续小波的局部是变化的,在高频时分辨率高,在低频时分辨率低,这便是它优于经典傅里叶变换的地方。总体说来,小波变换具有更好的时频窗口特性。 2. 图像去噪综述 所谓噪声,就是指妨碍人的视觉或相关传感器对图像信息进行理解或分析的各种因素。通常噪声是不可预测的随机信号。由于噪声影响图像的输入、采集、处理以及输出的各个环节,尤其是图像输入、采集中的噪声必然影响图像处理全过程乃至最终结果,因此抑制噪声已成为图像处理中极其重要的一个步骤。 依据噪声对图像的影响,可将噪声分为加性噪声和乘性噪声两大类。由于乘性噪声可以通过变换当加性噪声来处理,因此我们一般重点研究加性噪声。设

相关文档
最新文档