搜档网
当前位置:搜档网 › 图像预处理GUI

图像预处理GUI

图像预处理GUI
图像预处理GUI

图像增强GUI的fig界面

图像增强GUI的结果界面

其m文件见txt文件:

图像增强GUI的m文件:

function varargout = imageenhance(varargin)

% IMAGEENHANCE MATLAB code for imageenhance.fig

% IMAGEENHANCE, by itself, creates a new IMAGEENHANCE or raises the existing

% singleton*.

%

% H = IMAGEENHANCE returns the handle to a new IMAGEENHANCE or the handle to

% the existing singleton*.

% IMAGEENHANCE('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in IMAGEENHANCE.M with the given input arguments.

%

% IMAGEENHANCE('Property','V alue',...) creates a new IMAGEENHANCE or raises the

% existing singleton*. Starting from the left, property value pairs are

% applied to the GUI before imageenhance_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application

% stop. All inputs are passed to imageenhance_OpeningFcn via varargin.

%

% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one

% instance to run (singleton)".

%

% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help imageenhance

% Last Modified by GUIDE v2.5 19-May-2012 20:00:36

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @imageenhance_OpeningFcn, ...

'gui_OutputFcn', @imageenhance_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before imageenhance is made visible.

function imageenhance_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDA TA)

% varargin command line arguments to imageenhance (see V ARARGIN) % Choose default command line output for imageenhance

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIW AIT makes imageenhance wait for user response (see UIRESUME) % uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line. function varargout = imageenhance_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDA TA)

% Get default command line output from handles structure

varargout{1} = handles.output;

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDA TA)

% --- Executes on button press in loadimage2.

function loadimage2_Callback(hObject, eventdata, handles)

% hObject handle to loadimage2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDA TA) global pic;

[fname pname index]=uigetfile({'*.jpg';'*.bmp';'*.gif'});

if index

str=[pname fname]

pic=imread(str);

%figure;imshow(pic);

end;

% --- Executes on button press in pushbutton2.

function pushbutton2_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDA TA)

global pic;

str=get(hObject,'string');

axes(handles.axes1);

I=rgb2gray(pic);

J=histeq(I);

%figure;

subplot(221),imshow(I),title('?-í???');subplot(222),imshow(J),title('?±??í??ùoaoóμ?í???');

subplot(223),imhist(I,64),title('?-í????±??í?');subplot(224),imhist(J,64),title('?ùoa?ˉo?μ??±??í?');

%figure;

%subplot(121),imhist(I,64),title('?-í????±??í?');subplot(122),imhist(J,64),title('?±??í??ùoaoóμ??±??í?');

% --- Executes on button press in loadimage1.

function loadimage1_Callback(hObject, eventdata, handles)

% hObject handle to loadimage1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDA TA)

global pic;

[fname pname index]=uigetfile({'*.jpg';'*.bmp';'*.gif'});

if index

str=[pname fname]

pic=imread(str);

%figure;imshow(pic);

end;

% --- Executes when selected object is changed in multichoose.

function multichoose_SelectionChangeFcn(hObject, eventdata, handles)

% hObject handle to the selected object in multichoose

% eventdata structure with the following fields (see UIBUTTONGROUP)

% EventName: string 'SelectionChanged' (read only)

% OldV alue: handle of the previously selected object or empty if none was selected

% NewV alue: handle of the currently selected object

% handles structure with handles and user data (see GUIDA TA)

global pic;

str=get(hObject,'string');

axes(handles.axes4);

switch str

case '?ù?μ??2¨'

global pic;

str=get(hObject,'string');

axes(handles.axes4);

I=rgb2gray(pic);

J1=imnoise(I,'salt & pepper',0.02);

J2=imnoise(I,'gaussian',0.02);

%average filter

R1=filter2(fspecial('average',3),J1)/255;

R2=filter2(fspecial('average',3),J2)/255;

subplot(221),imshow(J1),title('?óè???????éùμ?í???');

subplot(222),imshow(J2),title('?óè????1??éùμ?í???');

subplot(223),imshow(R1),title('óD??????éùμ??ù?μ??2¨í???');

subplot(224),imshow(R2),title('óD???1??éùμ??ù?μ??2¨í???');

case'?D?μ??2¨'

global pic;

str=get(hObject,'string');

axes(handles.axes4);

I=rgb2gray(pic);

J1=imnoise(I,'salt & pepper',0.02);

J2=imnoise(I,'gaussian',0.02);

%median filter

R1=medfilt2(J1,[5,5]);

R2=medfilt2(J2,[5,5]);

subplot(221),imshow(J1),title('?óè???????éùμ?í???');

subplot(222),imshow(J2),title('?óè????1??éùμ?í???');

subplot(223),imshow(R1),title('óD??????éùμ??D?μ??2¨í???');

subplot(224),imshow(R2),title('óD???1??éùμ??D?μ??2¨í???');

case'D?ì??§è¥??'

global pic;

str=get(hObject,'string');

axes(handles.axes4);

I1=im2bw(pic);

I2=rgb2gray(pic);

se=strel('disk',5);

R1=imdilate(I1,se);

R2=imerode(I1,se);

R5=imopen(I1,se);

R6=imclose(I1,se);

R3=imdilate(I2,se);

R4=imerode(I2,se);

R7=imopen(I2,se);

R8=imclose(I2,se);

subplot(521),imshow(R1),title('?t?μí????ò?íoóμ?í???');

subplot(522),imshow(R3),title('?ò?èí????ò?íoóμ?í???');

subplot(523),imshow(R2),title('?t?μí????ˉê′o?μ?í???');

subplot(524),imshow(R4),title('???èí????ˉê′o?μ?í???');

subplot(525),imshow(R5),title('?t?μí????a????oóμ?í???');

subplot(526),imshow(R7),title('?ò?èí????a????oóμ?í???');

subplot(527),imshow(R6),title('?t?μí???±?????oóμ?í???');

subplot(528),imshow(R8),title('?ò?èí???±?????oóμ?í???');

end

% --- Executes during object creation, after setting all properties. function choose1_CreateFcn(hObject, eventdata, handles)

% hObject handle to choose1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called global pic;

str=get(hObject,'string');

I=rgb2gray(pic);

J1=imnoise(I,'salt & pepper',0.02);

J2=imnoise(I,'gaussian',0.02);

%average filter

R1=filter2(fspecial('average',3),J1)/255;

R2=filter2(fspecial('average',3),J2)/255;

% --- Executes during object creation, after setting all properties.

function choose2_CreateFcn(hObject, eventdata, handles)

% hObject handle to choose2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called global pic;

str=get(hObject,'string');

I=rgb2gray(pic);

J1=imnoise(I,'salt & pepper',0.02);

J2=imnoise(I,'gaussian',0.02);

%median filter

R3=medfilt2(J1,[5,5]);

R4=medfilt2(J2,[5,5]);

% --- Executes during object creation, after setting all properties.

function radiobutton4_CreateFcn(hObject, eventdata, handles)

% hObject handle to radiobutton4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called global pic;

str=get(hObject,'string');

I1=im2bw(pic);

I2=rgb2gray(pic);

se=strel('disk',5);

R1=imdilate(I1,se);

R2=imerode(I1,se);

R5=imopen(I1,se);

R6=imclose(I1,se);

R3=imdilate(I2,se);

R4=imerode(I2,se);

R7=imopen(I2,se);

R8=imclose(I2,se);

% --- Executes on key press with focus on radiobutton4 and none of its controls. function radiobutton4_KeyPressFcn(hObject, eventdata, handles)

% hObject handle to radiobutton4 (see GCBO)

% eventdata structure with the following fields (see UICONTROL)

% Key: name of the key that was pressed, in lower case

% Character: character interpretation of the key(s) that was pressed

% Modifier: name(s) of the modifier key(s) (i.e., control, shift) pressed % handles structure with handles and user data (see GUIDA TA)

% --- Executes on button press in pushbutton6.

function pushbutton6_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton6 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDA TA)

% --- Executes on button press in pushbutton7.

function pushbutton7_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton7 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDA TA)

影像预处理

遥感影像预处理 预处理是遥感应用的第一步,也是非常重要的一步。目前的技术也非常成熟,大多数的商业化软件都具备这方面的功能。预处理的大致流程在各个行业中有点差异,而且注重点也各有不同。 本小节包括以下内容: ? ? ●数据预处理一般流程介绍 ? ? ●预处理常见名词解释 ? ? ●ENVI中的数据预处理 1、数据预处理一般流程 数据预处理的过程包括几何精校正、配准、图像镶嵌与裁剪、去云及阴影处理和光谱归一化几个环节,具体流程图如图所示。 图1数据预处理一般流程

各个行业应用会有所不同,比如在精细农业方面,在大气校正方面要求会高点,因为它需要反演;在测绘方面,对几何校正的精度要求会很高。 2、数据预处理的各个流程介绍 (一)几何精校正与影像配准 引起影像几何变形一般分为两大类:系统性和非系统性。系统性一般有传感器本身引起的,有规律可循和可预测性,可以用传感器模型来校正;非系统性几何变形是不规律的,它可以是传感器平台本身的高度、姿态等不稳定,也可以是地球曲率及空气折射的变化以及地形的变化等。 在做几何校正前,先要知道几个概念: 地理编码:把图像矫正到一种统一标准的坐标系。 地理参照:借助一组控制点,对一幅图像进行地理坐标的校正。 图像配准:同一区域里一幅图像(基准图像)对另一幅图像校准影像几何精校正,一般步骤如下, (1)GCP(地面控制点)的选取 这是几何校正中最重要的一步。可以从地形图(DRG)为参考进行控制选点,也可以野外GPS测量获得,或者从校正好的影像中获取。选取得控制点有以下特征:

1、GCP在图像上有明显的、清晰的点位标志,如道路交叉点、河流交叉点等; 2、地面控制点上的地物不随时间而变化。 GCP均匀分布在整幅影像内,且要有一定的数量保证,不同纠正模型对控制点个数的需求不相同。卫星提供的辅助数据可建立严密的物理模型,该模型只需9个控制点即可;对于有理多项式模型,一般每景要求不少于30个控制点,困难地区适当增加点位;几何多项式模型将根据地形情况确定,它要求控制点个数多于上述几种模型,通常每景要求在30-50个左右,尤其对于山区应适当增加控制点。 (2)建立几何校正模型 地面点确定之后,要在图像与图像或地图上分别读出各个控制点在图像上的像元坐标(x,y)及其参考图像或地图上的坐标(X,Y),这叫需要选择一个合理的坐标变换函数式(即数据校正模型),然后用公式计算每个地面控制点的均方根误差(RMS) 根据公式计算出每个控制点几何校正的精度,计算出累积的总体均方差误差,也叫残余误差,一般控制在一个像元之内,即RMS<1。 (3)图像重采样

数字图像处理技术试题答案

数字图像处理技术试题库 一、单项选择题:(本大题 小题, 2分/每小题,共 分) 1.自然界中的所有颜色都可以由()组成 A.红蓝绿 B.红黄绿 C.红黄蓝绿 D.红黄蓝紫白 2. 有一个长宽各为200个象素,颜色数为16色的彩色图,每一个象素都用R(红)、G(绿)、B(蓝)三个分量表示,则需要()字节来表示 A.100 B.200 C.300 D. 400 3.颜色数为16种的彩色图,R(红)、G(绿)、B(蓝)三个分量分别由1个字节表示,则调色板需要()字节来表示 A.48 B.60 C.30 D. 40 4.下面哪一个不属于bmp 文件的组成部分 A .位图文件信息头 B. 位图文件头 C.调色板 D. 数据库标示 5.位图中,最小分辨单元是 A.像素 B.图元 C.文件头 D.厘米 6.真彩色的颜色数为 A.888?? B. 161616?? C.128128128?? D.256256256?? 7.如果图像中出现了与相邻像素点值区别很大的一个点,即噪声,则可以通过以下方式去除 A.平滑 B.锐化 C. 坐标旋转 D. 坐标平移 8.下面哪一个选项不属于图像的几何变换() A.平移 B.旋转 C. 镜像 D. 锐化 9.设平移量为x x t t (,),则平移矩阵为() A .1 0 00 1 0 1x y t t ?????????? B. 1 0 00 -1 0 1x y t t ??-???????? C.1 0 00 1 0 - 1x y t t ????????-?? D.1 0 00 1 0 - -1x y t t ?????????? 10.设旋转角度为a ,则旋转变换矩阵为() A .cos() sin() 0sin() cos() 00 0 1a a a a -?????????? B .cos() sin() 0sin() cos() 00 0 1a a a a ?????????? C .sin() cos() 0 sin() cos() 0 0 0 1a a a a -?????????? D .cos() sin() 0sin() cos() 00 0 1a a a a -????-?????? 11.下面哪一个选项是锐化模板 A .-1 -1 -1-1 9 -1-1 -1 -1??????????g B .-1 -1 -1-1 -9 -1-1 -1 -1??????????g C .-1 -1 -1-1 8 -1-1 -1 -1??????????g D .-1 -1 -1-1 6 -1-1 -1 -1?????????? g 12.真彩色所能表示的颜色数目是 A .128128? B .256256256 ?? C .256 D .6059

图像预处理代码

function img = My_read(path) M=0;var=0; I=double(imread(path)); [m,n,p]=size(I); for x=1:m for y=1:n M=M+I(x,y); end end M1=M/(m*n); for x=1:m for y=1:n var=var+(I(x,y)-M1).^2; end end var1=var/(m*n); for x=1:m for y=1:n if I(x,y)>=M1 I(x,y)=150+sqrt(2000*(I(x,y)-M1)/var1); else I(x,y)=150-sqrt(2000*(M1-I(x,y))/var1); end end end figure, imshow(I(:,:,3)./max(max(I(:,:,3)))); title(‘归一化’) M =3; %3*3 H = m/M; L= n/M; aveg1=zeros(H,L); var1=zeros(H,L); for x=1:H; for y=1:L; aveg=0;var=0; for i=1:M; for j=1:M; aveg=I(i+(x-1)*M,j+(y-1)*M)+aveg; end end aveg1(x,y)=aveg/(M*M); for i=1:M; for j=1:M; var=(I(i+(x-1)*M,j+(y-1)*M)-aveg1(x,y)).^2+var;

end end var1(x,y)=var/(M*M); end end Gmean=0; Vmean=0; for x=1:H for y=1:L Gmean=Gmean+aveg1(x,y); Vmean=Vmean+var1(x,y); end end Gmean1=Gmean/(H*L); %所有块的平均值Vmean1=Vmean/(H*L); %所有块的方差gtemp=0; gtotle=0; vtotle=0; vtemp=0; for x=1:H for y=1:L if Gmean1>aveg1(x,y) gtemp=gtemp+1; gtotle=gtotle+aveg1(x,y); end if Vmean1

对于车牌识别图像预处理技术的研究

对车牌识别图像预处理技术的探究 摘要:随着当今汽车数量日益增加,城市交通状况也相应的受到人们的重视,如何进行有效的交通管理更是成为了人们关注的焦点。针对此问题,人们运用新的科学技术,相继研制开发出了各种交通道路监视、管理系统。这些系统通过车辆检测装置对过往的车辆实施检测,提取有关交通数据,达到监控、管理和指挥交通的目的。MATLAB是一种高效的工程计算语言,它是一个比较完整的数据库系统,在数据处理、图像处理、神经网络、小波分析等方面都有广泛的应用。本文详细阐述了运用MATLAB对车牌进行图像增强、边缘检测、二值图像化、形态学滤波等处理过程,为后面研究其定位、分割、识别做好充分的准备。 关键词:车牌图像增强中值滤波二值化形态学滤波 MATLAB 引言:通常情况下,由于外界光线、气候或其他自然、设备本身、人为因素等干扰而导致所拍摄的车牌图片成像不完美,使得对比度太小、曝光量太大、不清晰、倾斜等情况产生,这些情况都会极大的影响后期车牌号码字符的分割、识别操作,甚至导致无法进行字符分割和识别操作。因而,在做字符分割和识别操作之前,对图像做一系列的预处理很有必要。这些预处理操作包括图像增强处理(中值滤波、均值滤波、直方图均衡化)、边缘检测、二值化、形态学滤波处理。 1图像的增强处理 1.1中值滤波 中值滤波是一种非线性滤波,由于它在实际运算过程中并不需要图像的统计特性,所以比较方便。中值滤波首先是被应用在一维信号处理技术中,后来被二维图像信号处理技术所应用。在一定的条件下,可以克服线性滤波器所带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声最为有效。但是对一些细节多,特别是点、线、尖顶细节多的图像不宜采用中值滤波的方法。 中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替。

图像处理基本方法

图像处理的基本步骤 针对不同的目的,图像处理的方法不经相同。大体包括图像预处理和图像识别两大模块。 一、图像预处理: 结合识别复杂环境下的成熟黄瓜进行阐述,具体步骤如下: · 图像预处理阶段的流程图 对以上的图像流程进行详细的补充说明: 图像预处理的概念: 将每一个文字图像分检出来交给识别模块识别,这一过程称为图像预处理。 图像装换和图像分割以及区域形态学处理都是属于图像处理的基本内容之一。 图像转换:方法:对原图像进行灰度化处理生成灰度矩阵——降低运算速度(有具体的公式和方程),中值滤波去噪声——去除色彩和光照的影响等等。 图像分割:传统方法:基于阈值分割、基于梯度分割、基于边缘检测分割和基于区域图像割等方法。脉冲耦合神经网络 (PCNN)是针对复杂环境下 图像采集 图像采集中注意采集的方法、工具进行介绍。目的是怎样获取有代表性的样本。(包括天气、相机的位置等) 对采集的图像进行特征分析 目标的颜色和周围环境的颜色是否存在干涉的问题、平整度影响相机的拍摄效果、形状 图像转换 图像分割 区域形态学处理

的有效分割方法,分割的时候如果将一个数字图像输入PCNN,则能基于空间邻近性和亮度相似性将图像像素分组,在基于窗口的图像处理应用中具有很好的性能。 区域形态学处理:对PCNN分割结果后还存在噪声的情况下,对剩余的噪声进行分析,归类属于哪一种噪声。是孤立噪声还是黏连噪声。采用区域面积统计法可以消除孤立噪声。对于黏连噪声,可以采用先腐蚀切断黏连部分,再膨胀复原目标对象,在进行面积阙值去噪,通过前景空洞填充目标,最后通过形态学运算,二值图像形成众多独立的区域,进行各连通区域标识,利于区域几何特征的提取。 二、图像识别: 针对预处理图像提取 目标特征 建立LS SVM分类器 得到结果 图像识别流程图 提取目标特征:目标特征就是的研究对象的典型特点,可以包括几何特征和纹理特征。 对于几何特征采用的方法:采用LS-SVM支持向量机对几何特征参数进行处理,通过分析各个参数的分布区间来将目标和周围背景区分开,找出其中具有能区分功能的决定性的几何特征参数。 纹理特征方法:纹理特征中的几个参数可以作为最小二乘支持向量机的辅助特征参数,提高模型的精准度。 最小二乘支持向量机介绍:首先选择非线性映射将样本从原空间映射到特征空间,以解决原空间中线性不可分问题,在此高维空间中把最优决策问题转化为等式约束条件,构造最优决策函数,并引入拉格朗日乘子求解最优化问题,对各个变量求偏微分。 LS SVM分类器:对于p种特征选择q个图像连通区域,作为训练样本。依

基于图像预处理的二维码识别技术的研究概要

基于图像预处理的二维码识别技术的研究 摘要:随着计算机科学技术的发展,自动识别技术得到了广泛的应用。在众多自动识别的技术中,条码技术已经成为当今主要的计算机自动识别技术之一。为解决条码信息容量有限的问题,九十年代以来出现一种新的条码——二维码。 二维码是指在平面二维方向上,使用某种特定的几何图形按一定规律分布的黑白相间的,用以记录信息的符号。在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。 二维码主要分为两大类:一是堆叠式是二维码,其主要代表是pdf417;二是矩阵式二维码,主要包括QR码和Data Matrix码。在现代商业活动中,二维码以其低成本、快速识读、含有大量信息而广泛应用于各个行业,如:产品防伪/溯源、广告推送、网站链接、数据下载、商品交易、定位/导航、电子凭证、车辆管理、信息传递、名片交流、wifi共享等,人们通过手机二维码的扫描软件就可以轻松获得二维码中所储藏的信息。 对QR码进行识别需要使用采集设备采集的图像,但图像的采集过程中由于受到各种因素(如光照不均匀、拍摄角度、二维码有褶皱等)的影响,可能导致二维码图像背景有各种噪声,收到的图像可能存在几何畸变或者图像有阴影,从而导致识读设备很难识读,给解码带来相当大的困难。因此,如何对收集到的图像进行适当的去噪和校正已成为二维码识别的关键问题[1]。 本文主要针对异常QR码以及Data Matrix码的识别进行描述,先表明二维码识别要解决的问题、任务和框架,并对现有方法进行阐述,最后讨论二维码识别技术仍需解决的问题,并展望看其未来研究方向。 1.二维码识别的概念框架 随着二维码的广泛使用,二维码被广泛认知,当人们遇到二维码扫描失败的时候,对其产生的影响也是巨大的,人们会怀疑是不是产品是假的,或者是有诈骗信息,但其主要问题可能是: 1)二维码的扫描不够精确; 2)不是真的二维码图形;

图像预处理方法

预处理就是在图像分析中,对输入图像进行特征抽取等前所进行的处理。输入图像由于图像采集环境的不同,如光照明暗程度以及设备性能的优劣等,往往存在有噪声,对比度不够等缺点。另外,距离远近,焦距大小等又使得人脸在整幅图像中间的大小和位置不确定。为了保证人脸图像中人脸大小,位置以及人脸图像质量的一致性,必须对图像进行预处理。图像预处理的主要目的是消除图像中无关的信息,滤除干扰、噪声,恢复有用的真实信息,增强有关信息的可检测性和最大限度地简化数据,从而改进特征抽取的可靠性. 人脸图像的预处理主要包括人脸扶正,人脸图像的增强,以及归一化等工作。人脸扶正是为了得到人脸位置端正的人脸图像;图像增强是为了改善人脸图像的质量,不仅在视觉上更加清晰图像,而且使图像更利于计算机的处理与识别。归一化工作的目标是取得尺寸一致,灰度取值范围相同的标准化人脸图像[4]。 几何规范化 由于图像在提取过程中易受到光照、表情、姿态等扰动的影响,因此在识别之前需要对图像做归一化的预处理[4],通常以眼睛坐标为基准点,通过平移、旋转、缩放等几何仿射变换对人脸图像进行归一化。因为人脸虽然是柔性的三维曲面,同一人脸因表情变化会有差异,但相对而言人的两眼之间的距离变化不会很大,因此双眼的位置及眼距,就成为人脸图像归一化的依据。 定位眼睛到预定坐标,将图像缩放至固定大小。通过平移、旋转、缩放等几何仿射变换,可以对人脸图像做几何规范化处理,仿射变换的表达式为: ]100][1,,[]1,,[3231 22 211211 a a a a a a v u y x = (2-1) 其中(u,v)表示输入图像中像素的坐标(x,y)表示输出图像中像素的坐标。将上式展开可得 322212312111u a x a v a u a y a v a ++=++= (2-2)

进行识别前图像预处理

进行识别前图像预处理 //BP神经网络字符识别函数定义 #include "dibapi.h" #include <iostream> #include <deque> #include <math.h> using namespace std; typedef deque<CRect> CRectLink; typedef deque<HDIB> HDIBLink; //声明一些必要的全局变量 int w_sample=8; int h_sample=16; bool fileloaded; bool gyhinfoinput; bool gyhfinished; int digicount; int m_lianXuShu; CRectLink m_charRectCopy; CRectLink m_charRect; HDIBLink m_dibRect; HDIBLink m_dibRectCopy;

HDIB m_hDIB; CString strPathName; CString strPathNameSave; /********************************function declaration*************************************/ //清楚屏幕 void ClearAll(CDC* pDC); //在屏幕上显示位图 void DisplayDIB(CDC* pDC,HDIB hDIB); //对分割后的位图进行尺寸标准归一化 void StdDIBbyRect(HDIB hDIB, int tarWidth, int tarHeight); //整体斜率调整 void SlopeAdjust(HDIB hDIB); //去除离散噪声点 void RemoveScatterNoise(HDIB hDIB); //梯度锐化 void GradientSharp(HDIB hDIB); //画框 void DrawFrame(CDC* pDC,HDIB hDIB, CRectLink charRect,unsigned int linewidth,COLORREF color); //将灰度图二值化 void ConvertGrayToWhiteBlack(HDIB hDIB);

基于matlab的图像预处理技术研究文献综述

毕业设计文献综述 题目:基于matlab的图像预处理技术研究 专业:电子信息工程 1前言部分 众所周知,MATLAB在数值计算、数据处理、自动控制、图像、信号处理、神经网络、优化计算、模糊逻辑、小波分析等众多领域有着广泛的用途,特别是MATLAB的图像处理和分析工具箱支持索引图像、RGB 图像、灰度图像、二进制图像,并能操作*.bmp、*.jpg、*.tif等多种图像格式文件如。果能灵活地运用MATLAB提供的图像处理分析函数及工具箱,会大大简化具体的编程工作,充分体现在图像处理和分析中的优越性。 图像就是用各种观测系统观测客观世界获得的且可以直接或间接作用与人眼而产生视觉的实体。视觉是人类从大自然中获取信息的最主要的手段。拒统计,在人类获取的信息中,视觉信息约占60%,听觉信息约占20%,其他方式加起来才约占20%。由此可见,视觉信息对人类非常重要。同时,图像又是人类获取视觉信息的主要途径,是人类能体验的最重要、最丰富、信息量最大的信息源。通常,客观事物在空间上都是三维的(3D)的,但是从客观景物获得的图像却是属于二维(2D)平面的。 图像存在方式多种多样,可以是可视的或者非可视的,抽象的或者实际的,适于计算机处理的和不适于计算机处理的。 图像处理它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。图像处理作为一门学科大约形成于20世纪60年代初期。早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。首次获得实际成功应用的是美国喷气推进实验室(JPL)。他们对航天探测器徘徊者7号在 1964 年发回的几千张月球照片使用了图像处理技术,如几何校正、灰度变换、去除噪声等方法进行处理,并考虑了太阳位置和月球环境的影响,由计算机成功地绘制出月球表面地图,获得了巨大的成功。随后又对探测飞船发回的近十万张照片进行更为复杂的图像处理,以致获得了月球的地形图、彩色图及全景镶嵌图,获得了非凡的成果,为人类登月创举奠定了坚实的基础,也推动

图像预处理流程

图像预处理流程: 图2.2图像预处理流程图 2.2系统功能的实现方法 系统功能的实现主要依靠图像处理技术,按照上面的流程一一实现,每一部分的具体步骤如下: 1原始图像:由数码相机或其它扫描装置拍摄到的图像; 2预处理:对采集到的图像进行灰度化、图像增强,滤波、二值化等处理以克服图像干扰; 3字轮定位:用图像剪切的方法获取仪表字轮; 4字符分割:利用字符轮廓凹凸检测定位分割方法得到单个的字符; 5字符识别:利用模板匹配的方法与数据库中的字符进行匹配从而确认出字符,得到最后的仪表示数。

2.3.1 MATLA B简介 MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB 爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。 2.3.2 MATLAB的优势和特点 1、MATLAB的优势 (1)友好的工作平台和编程环境 MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。

基于opencv对图像的预处理

基于opencv 对图像的预处理 1.问题描述 本次设计是基于opencv 结合c++语言实现的对图像的预处理,opencv 是用于开发实时的图像处理、计算机视觉及模式识别程序;其中图像的预处理也就是利用opencv 对图像进行简单的编辑操作;例如对图像的对比度、亮度、饱和度进行调节,同时还可以对图像进行缩放和旋转,这些都是图像预处理简单的处理方法;首先通过opencv 加载一幅原型图像,显示出来;设置五个滑动控制按钮,当拖动按钮时,对比度、亮度、饱和度的大小也会随之改变,也可以通过同样的方式调节缩放的比例和旋转的角度,来控制图像,对图像进行处理,显示出符合调节要求的图像,进行对比观察他们的之间的变化。 2.模块划分 此次设计的模块分为五个模块,滑动控制模块、对比度和亮度调节模块、饱和度调节模块、缩放调节模块、旋转调节模块,他们之间的关系如下所示: 图一、各个模块关系图 调用 调用 调用 调用 滑动控制模块 对比度和亮度调节模块 饱和度调节模块 缩放调节模块 旋转调节模块

滑动控制模块处于主函数之中,是整个设计的核心部分,通过createTrackbar创建五个滑动控制按钮并且调用每个模块实现对图像相应的调节。 3.算法设计 (1)滑动控制: 滑动控制是整个设计的核心部分,通过创建滑动控制按钮调节大小来改变相应的数据,进行调用函数实现对图像的编辑,滑动控制是利用createTrackbar(),函数中包括了滑动控制的名称,滑动控制显示在什么窗口上,滑动变量的地址和它调节的最大围,以及每个控制按钮应该调用什么函数实现什么功能; (2)对比度和亮度的调节: 对比度和亮度的调节的原理是依照线性理论,它的公式如下所示:g(x)=a* f(x) +b,其中f(x)表示源图像的像素,g(x)表示输出图像的像素,参数a(需要满足a>0)被称为增益(gain),常常被用来控制图像的对比度,参数b通常被称为偏置(bias),常常被用来控制图像的亮度; (3)饱和度的调节: 饱和度调节利用cvCvtColor( src_image, dst_image, CV_BGR2HSV )将RGB 颜色空间转换为HSV颜色空间,其中“H=Hue”表示色调,“S=Saturation”表示饱和度,“V=Value ”表示纯度;所以饱和度的调节只需要调节S的大小,H 和V的值不需要做任何的改变; (4)旋转的调节: 旋转是以某参考点为圆心,将图像的个点(x,y)围绕圆心转动一个逆时针角度θ,变为新的坐标(x1,y1),x1=rcos(α+θ),y1=rsin(α+θ),其中r是图像的极径,α是图像与水平的坐标的角度的大小; (5)缩放的调节: 首先得到源图像的宽度x和高度y,变换后新的图像的宽度和高度分别为x1和y1,x1=x*f,y1=y*f,其中f是缩放因子; 4.函数功能描述 (1)主函数main()用来设置滑动控制按钮,当鼠标拖动按钮可以得到相应的数据大小,实现手动控制的功能,当鼠标拖动对比度和亮度调节是,主函数调用

图像复原处理技术

实验五图像复原处理技术 实验目的 1 了解图像降质退化的原因,并建立降质模型。 2 理解反向滤波图像复原的原理 3 理解维纳滤波图像复原的原理实验原理图像复原处理一定是建立在图像退化的数学模型基础上的,这个退化数学模型应该能够 反映图像退化的原因。图像降质过程的模型如图5-1所示,其表达式为 g(x,y)=h (x,y)*f (x,y) +n (xy) (5.1) 图5-1图像降质模型 1、 滤波图像复原 逆滤波法是最简单的图像恢复方法。对5.1式两边作二维傅立叶变换,得到 G (u , v ) =H (u ,v) F (u ,v) + N (u ,v) H (u ,v) 为成像系统的转移函数。估算得到的恢复图像的傅立叶变换F ? (u ,v) 为 ()()()()()() ,,?,,,,G u v N u v F u v F u v H u v H u v ==+ (5.2) 若知道转移函数H (),u v ,5.2式经反变换即可得到恢复图像,其退化和恢复的全过程用图5-2表示。 图5-2频域图像降质及恢复过程

逆滤波恢复法会出现病态性,若H (),u v ,而噪声N(u,v) ≠0,则()(),,N u v H u v 比F (x,y)大很多,使恢复出来()?,f x y 与(),f x y 相差很大,甚至面目全非。一种改进的方法是在H (u , v ) =0 的频谱点及其附近,人为仔细设置()1,H u v -的值,使得在这些频 谱点附近,()(),,N u v H u v 不会对()?,F u v 产生太大影响。二种方法是考虑到降质系统的转移函数(),H u v 的带宽比噪声要窄的多,其频率特性也具有低通性质,因此可令逆滤波的转移函数()1,H u v 为 ()()()()1 222 11 2220 1,,0H u v u v D H u v u v D ?+≤?=??+>? (2)维纳滤波复原 逆滤波简单,但可能带来噪声的放大,而维纳滤波对逆滤波的噪声放大有抑制作用。 维纳滤波是寻找一个滤波器,使得复原后图像()?,f x y 与原始图像(),f x y 的方差最小,即 ()(){ }2 ?min ,,E f x y f x y ??=-?? 如果图像(),f x y 和噪声(),n x y 不相关,且(),h x y 有零均值,则可导出维纳滤波器的传递函数为 ()() () () () 2 2 ,1 ,,,,,w n f H u v H u v P u v H u v H u v P u v = ? + 式中(),n P u v 和(),f P u v 分别为噪声和原始图像的功率谱。实际上(),n P u v 和(),f P u v n 往往是未知的,这时常用常数K 来近似 () () ,,n f P u v P u v 。 【实验】产生一模糊图像,采用维纳滤波图像复原的方法对图像进行处理。 clear; %清除变量 d=15 %设定长度

图像预处理流程

图像预处理流程: 系统功能的实现方法 系统功能的实现主要依靠图像处理技术,按照上面的流程一一实现,每一部分的具体步骤如下: 1原始图像:由数码相机或其它扫描装置拍摄到的图像; 2预处理:对采集到的图像进行灰度化、图像增强,滤波、二值化等处理以克服图像干扰; 3字轮定位:用图像剪切的方法获取仪表字轮; 4字符分割:利用字符轮廓凹凸检测定位分割方法得到单个的字符; 5字符识别:利用模板匹配的方法与数据库中的字符进行匹配从而确认出字符,得到最后的仪表示数。 2.3.1 MATLA B简介 MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB 和Simulink两大部分。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以

直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。 2.3.2 MATLAB的优势和特点 1、MATLAB的优势 (1)友好的工作平台和编程环境 MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。 (2)简单易用的程序语言 MATLAB是一种高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。 (3)强大的科学计算机数据处理能力 MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、

图像预处理的一般方法

图像预处理的一般方法 (一)空域图像增强技术 1.灰度线性变换 addpath('C:\'); I = imread('C:\lzs.jpeg'); imshow(I); I = double(I); [M,N] = size(I); for i = 1:M for j = 1:N if I(i,j)<=30 I(i,j)=I(i,j); else if I(i,j)<=150 I(i,j)=(210-30)/(160-30)*(I(i,j)-30)+30; else I(i,j)=(256-210)/(256-160)*(I(i,j)-160)+210; end end end end figure(2); imshow(uint8(I)); 2.直方图均衡化 addpath('C:\'); I=imread('C:\lzs.jpeg'); figure subplot(221); imshow(I);

subplot(222); imhist(I); I1=histeq(I); figure; subplot(221); imshow(I1); subplot(222); imhist(I1) 3.均值滤波 function test1 I = imread('C:\lzs.jpeg'); [M,N]=size(I); II1=zeros(M,N); for i=1:16; II(:,:,i)=imnoise(I,'gaussian',0,0.01); II1=II1+double(II(:,:,i)); if or(or(i==1,i==4),or(i==8,i==16)); figure;imshow(uint8(II1/i)); end end 4.梯度锐化操作 addpath('C:\'); I = imread('C:\lzs.jpeg'); subplot(131); imshow(I); H=fspecial('Sobel'); H=H'; TH=filter2(H,I); subplot(132); imshow(TH,[]);

图像预处理流程

图像预处理流程: 图2.2 图像预处理流程图 2.2 系统功能的实现方法 系统功能的实现主要依靠图像处理技术,按照上面的流程一一实现,每一部分的具体步骤如下: 1原始图像:由数码相机或其它扫描装置拍摄到的图像; 2预处理:对采集到的图像进行灰度化、图像增强,滤波、二值化等处理以克服图像干扰; 3字轮定位:用图像剪切的方法获取仪表字轮; 4字符分割:利用字符轮廓凹凸检测定位分割方法得到单个的字符;

5字符识别:利用模板匹配的方法与数据库中的字符进行匹配从而确认出 字符,得到最后的仪表示数。 2.3.1 MATLAB简介 MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。 2.3.2 MATLAB的优势和特点 1、MATLAB的优势 (1)友好的工作平台和编程环境 MATLAB由一系列工具组成。这些工具方便用户使用MATLAB 的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB 桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的

图像预处理技术

图像预处理 一般情况下,成像系统获取的图像(即原始图像)由于受到种种条件限制和随机干扰,往往不能在视觉系统中直接使用,必须在视觉信息处理的早期阶段对原始图像进行灰度校正、噪声过滤等图像预处理.对机器视觉系统来说,所用的图像预处理方法并不考虑图像降质原因,只将图像中感兴趣的特征有选择地突出,衰减其不需要的特征,故预处理后的输出图像并不需要去逼近原图像.这类图像预处理方法统称为图像增强.图像增强技术主要有两种方法:空间域法和频率域法.空间域方法主要是在空间域内对图像像素直接运算处理.频率域方法就是在图像的某种变换域,对图像的变换值进行运算,如先对图像进行付立叶变换,再对图像的频谱进行某种计算(如滤波等),最后将计算后的图像逆变换到空间域.本章首先讨论直方图修正方法,然后介绍各种滤波技术,其中,高斯平滑滤波器将作比较深入的讨论. 5.1直方图修正 许多图像的灰度值是非均匀分布的,其中灰度值集中在一个小区间内的图像是很常见的(图5.2(a )所示的对比度很弱的图像).直方图均衡化是一种通过重新均匀地分布各灰度值来增强图像对比度的方法.经过直方图均衡化的图像对二值化阈值选取十分有利.一般来说,直方图修正能提高图像的主观质量,因此在处理艺术图像时非常有用. 直方图修正的一个简单例子是图像尺度变换:把在灰度区间],[b a 内的像素点映射到 [,]z z k 1区间. 一般情况下,由于曝光不充分,原始图像灰度区间],[b a 常常为空间[,]z z k 1的子空间,此时,将原区间内的像素点z 映射成新区间内像素点'z 的函数表示为 z z z b a z a z k '()= ---+1 1 (5.1) 上述函数的曲线形状见图5.1(a).上述映射关系实际上将],[b a 区间扩展到区间[,]z z k 1上,使曝光不充分的图像黑的更黑,白的更白. 如果图像的大多数像素灰度值分布在区间],[b a ,则可以使用图5.1(b)所示的映射函数: ??? ????><≤≤+---='b z z a z z b z a z a z a b z z z k k 1 11 )( (5.2) 若要突出图像中具有某些灰度值物体的细节,而又不牺牲其它灰度上的细节,可以采用分段灰度变换,使需要的细节灰度值区间得到拉伸,不需要的细节得到压缩,以增强对比度,如图5.1(c)所示.当然也可以采用连续平滑函数进行灰度变换,见图5.1(d). 这一方法存在的问题是,当直方图被延伸后,所得到的新直方图并不均匀,也就是说,各灰度值所对应的像素数并不相等.因此,更好的方法应该是既能扩展直方图,又能使直方图真正地呈现均匀性.

基于 MATLAB的图像预处理技术研究

基于MATLAB的图像预处理技术研究 图像识别技术:其对研究对象进行图像获取,然后根据研究对象的自身特征信息进行分类和识别。 这门技术的研究对象十分广泛,只要可以进行图像获取并对特征进行分析便可以应用图像识别技术。 举例说明: 医学上X光片的图像诊断、智能交通系统中车辆牌照的图像识别分类、卫星拍摄的湖泊森林遥感图像处理、人脸识别、身份识别。 图像识别系统的概述: 包含三个主要部分: 1,图像的获取;(进行最初的图像采集,将最原始的对象转换为图像信息;将最初的数据材料带入图像信息中) 2,对获取的图像进行前期预处理,提取有用的信息。(对原始的图像中的噪声以及非相关特征信息进行过滤,减少所获取原始图像的信息量,从而为后期最终特征信息的分类减少干扰。即将图像分为多个区域,并且每个区域只包含一定数量的特征信息。) 3,根据研究对象的先验特征信息对图像中的噪声以及非相关特征信息进行查找识别。(主要是在前期获取的图像信息预处理结束后,根据相关的先验知识,利用计算机技术快速实时地对图像中的特征信息进行提取分类。在这部分中,对于识别的特征信息的正确率有一定的要求,以减少分类识别错误,其中特征的矢维函数、字符串数等需要

不断的简化,从而以最简单的模式划分特征信息) 分类识别:将原始的图像根据特征信息进行分类。 图像预处理技术 1,图像的灰度化 (获取不含彩色信息的灰度图像,灰度图像只含有亮度信息) 通过采集过程获取的一般都是彩色图像。并以Jpg或者Bmp格式进行存储。以Bmp格式的图像为例进行分析,假设采集获取得一幅彩色图像的像素为1280*960,那么其在硬盘上的存储空间需要1280*960*3,即3686400个字节,(灰度图每个像素仅由一个8位字节表示该像素的亮度值.)。其占用的存储空间比灰度图像大的很多,所以为节省空间并减小计算量,一般要将彩色图像转化为灰度图像,只选择三个颜色分量进行图像的色彩区分,具体的转换方式为Y=R*0.299+G*0.587+B*0.114,这个过程就是对获取的彩色图像的灰度化处理过程。 2,图像的灰度拉伸 由于光照等因素,许多图像成像时光照不足,使得整幅图像变暗,或者成像时光照过强,使得整幅图变亮。为了增强图像的对比度,使其明暗鲜明,有利于对图像的特征信息进行识别,需要对灰度化的图像进行灰度线性变换,以便突出图像的特征信息的部分。 灰度线性变换采用的变换公式一般为: ()()C , , g, ? =的值由输入图像的灰度值动态范围决x ,+ f R R C y x y

相关主题