Вход

Проектирование программного комплекса для обработки цифровых изображений

Рекомендуемая категория для самостоятельной подготовки:
Дипломная работа*
Код 178828
Дата создания 2013
Страниц 91
Источников 19
Мы сможем обработать ваш заказ (!) 10 июня в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
6 950руб.
КУПИТЬ

Содержание

Введение
Глава 1. Обзор методов обработки видеоинформации, повышающих качество видео
1.1. Изменение контраста
1.2. Видоизменение гистограмм
1.3. Подавление шумов
1.4. Подчеркивание границ
1.5. Медианный фильтр
1.6. Основы вейвлет-анализа
Глава 2. Проектирование технологии повышения качества видеоизображений
2.1. Энтропия гистограммы изображения
2.2. Критерий PSNR
Глава 3. Разработка программы повышения качества видеоизображений
3.1. Особенности программной реализации технологий улучшения качества видеоизображений
3.2. Разработка нового алгоритма повышения резолюции
3.3. Результаты тестирования разработанного программного комплекса
Заключение
Приложение
Литература

Фрагмент работы для ознакомления

Заключение
В дипломном проекте стояла задача разработки программного продукта, который реализует новый алгоритм повышения качества изображений, основывающегося на технологии mashine learning .
В первой главе выполнен обзор методов обработки видеоинформации. Во второй главе проведена разработка программного обеспечения для адаптации видеоматериалов к представлению высокого разрешения. Третья глава посвящена экономическому обоснованию эффективности проекта.
Разработка информационной системы производилась с учетом всех основных принципов проектирования систем подобного рода.
Для разработки данной программной системы использовалась платформа Matlab 7.7.0. Сама система была реализована на языке программирования Matlab с использованием Signal Processing Toolbox, Optimization Toolbox и Statistics Toolbox. Выбор системы и языка программирования связан с богатством реализованного математического аппарата, связанного со спектральным операторным анализом, а также статистическим анализом, содержащихся в тулбоксах системы Matlab.
Резюмируя все вышесказанное, в данном дипломном проекте удалось создать эффективную информационную систему, которая основана на новом алгоритме повышения качества изображений с использованием технологии mashine learning.
Приложение
Программный код разработанного приложения
pro_demo4.m
cc;
co;
load c:\SRC\8\3\2\0\SAAAAA\texture\demo\PCA_texture_130s
dir_save_8765= 'c:\SRC\8\3\2\0\SAAAAA\texture\demo\' ;% lean

Q2=imread([dir_save_8765,'small','_1','.png'] );
Q3=double(imresize(Q2,[700,700]));
QP= smooth_001(Q3,5) ;
cc;
figure(545);
ai_(QP)

pow_texture=5;
limit_norm_text=100 ;
show=0;

[BW,texture,texture_pure,intensity, matting]=add_text_from_training_13(QP,wind_siz,22,...
cube_principal_features2,Ba2,text_pca_2, ...
pow_texture, limit_norm_text,show,4);
figure(544)
ai_(texture_pure)
figure(545)
subplot(121)
ai_(imresize(double(Q2),[700,700],'near'))
title('before')
subplot(122)
ai_(Q3+7*matting.*texture_pure)
title('after')
imwrite(uint8(Q3+7*matting.*texture_pure),[dir_save_8765,'big','_2','.png'] ,'png' );

%%%%%
add_reflection.m
function [ Q,x,y]=add_reflection( yiqmap,wind_siz)
yiqmap_size=size(yiqmap);

Q=ones( yiqmap_size(1)+(wind_siz+5)*2, yiqmap_size(2)+(wind_siz+5)*2)*128;

%%%%%%%%%%%%%%%%%%%%%% lines
for x=1:wind_siz+4
for y=wind_siz+5:yiqmap_size(2)+wind_siz+4
Q(x,y)=yiqmap(wind_siz+5-x,y-wind_siz-4);
end
end

for x=1:wind_siz+6
for y=wind_siz+5:yiqmap_size(2)+wind_siz+4
Q(x+yiqmap_size(1)+wind_siz+4,y)=yiqmap(yiqmap_size(1)-x,y-wind_siz-4);
end
end

for y=1:wind_siz+4
for x=wind_siz+5:yiqmap_size(1)+wind_siz+4
Q(x,y)=yiqmap(x-wind_siz-4,wind_siz+5-y);
end
end

for y=1:wind_siz+6
for x=wind_siz+5:yiqmap_size(1)+wind_siz+4
Q(x,y+yiqmap_size(2)+wind_siz+4)=yiqmap(x-wind_siz-4,yiqmap_size(2)-y);
end
end

%%%% squares
for x=1:wind_siz+4
for y=x:wind_siz+4
Q(x,y)=yiqmap(wind_siz+5-x,wind_siz+5-y);
Q(x+yiqmap_size(1)+wind_siz+5,y)=yiqmap(yiqmap_size(1)-x,wind_siz+5-y);
end
end

for x=1:wind_siz+4
for y=1:x
Q(x,y)=yiqmap(wind_siz+5-x,wind_siz+5-y);
Q(x+yiqmap_size(1)+wind_siz+5,y)=yiqmap(yiqmap_size(1)-x,wind_siz+5-y);
end
end

for x=1:wind_siz+4
for y=x:wind_siz+5
Q(x,y+yiqmap_size(2)+wind_siz+5)=yiqmap(wind_siz+5-x,yiqmap_size(2)-y);
end
end

for x=1:wind_siz+4
for y=1:x
Q(x,y+yiqmap_size(2)+wind_siz+4)=yiqmap(wind_siz+5-x,yiqmap_size(2)-y);
end
end

for x=1:wind_siz+5
for y=x:wind_siz+4
Q(x+yiqmap_size(1)+wind_siz+5,y+yiqmap_size(2)+wind_siz+5)=yiqmap(yiqmap_size(1)-x,yiqmap_size(2)-y);
end
end

for x=1:wind_siz+4
for y=1:x
Q(x+yiqmap_size(1)+wind_siz+5,y+yiqmap_size(2)+wind_siz+4)=yiqmap(yiqmap_size(1)-x,yiqmap_size(2)-y);
end
end


x=wind_siz+5:yiqmap_size(1)+wind_siz+4;
y=wind_siz+5:yiqmap_size(2)+wind_siz+4;
Q(x,y)=yiqmap ;
belaterami_conv_3.m
function G=belaterami_conv_3(F1_,F2_,k1,k2,sigm)


PSF = fspecial('gaussian',k1 ,k2);
u_=generate_intensity_gaussian(sigm);

% figure(543)
% ai_(u_)
%

r=size(PSF,1) ;
r_=round(r/2);


F_=zeros(size(F1_,1)+r,size(F1_,2)+r);

F_(round(r/2):round(r/2)+size(F1_,1)-1 ,round(r/2):round(r/2)+size(F1_,2)-1 )=F1_;
Q_=zeros(size(F1_,1)+r,size(F1_,2)+r);

Q_(round(r/2):round(r/2)+size(F1_,1)-1 ,round(r/2):round(r/2)+size(F1_,2)-1 )=F2_;


G_=zeros(size(F_));


for ioi=r_+1:size(F1_,1)+r_
for idi=r_+1:size(F1_,2)+r_

N1= F_ (ioi-r_ :ioi-r_+r-1 ,idi-r_:idi-r_+r-1);
N = Q_ (ioi-r_ :ioi-r_+r-1 ,idi-r_:idi-r_+r-1);
% size(u_)
% 1+ceil(abs(N-Q_(ioi-1,idi-1)))
DD=abs(N-Q_(ioi-1,idi-1));
DD=(size(u_,2)-3)*DD/(max(max(DD))+eps);
% 1+ceil(DD)
% size(u_)
B=u_( 1+ceil(DD));



K=PSF.*B;
K=K/sum(sum(K)) ;

F=N1.*K;

G_(ioi-1,idi-1)= sum(sum(F));


end
end
G= G_(round(r/2) :round(r/2)+size(F1_,1) -1 ,round(r/2) :round(r/2)+size(F1_,2) -1 );
G=norm(F1_)*G/norm(G);

belaterami_conv_4.m
function G=belaterami_conv_4(F1_,F2_,k1,k2,sigm)


PSF = fspecial('gaussian',k1 ,k2);
u_=generate_intensity_gaussian_(180);

figure(543)
plot(u_)
%

r=size(PSF,1) ;
r_=round(r/2);


F_=zeros(size(F1_,1)+r,size(F1_,2)+r);

F_(round(r/2):round(r/2)+size(F1_,1)-1 ,round(r/2):round(r/2)+size(F1_,2)-1 )=F1_;
Q_=zeros(size(F1_,1)+r,size(F1_,2)+r);

Q_(round(r/2):round(r/2)+size(F1_,1)-1 ,round(r/2):round(r/2)+size(F1_,2)-1 )=F2_;


G_=zeros(size(F_));


for ioi=r_+1:size(F1_,1)+r_
for idi=r_+1:size(F1_,2)+r_

N1= F_ (ioi-r_ :ioi-r_+r-1 ,idi-r_:idi-r_+r-1);
N = Q_ (ioi-r_ :ioi-r_+r-1 ,idi-r_:idi-r_+r-1);

% size(u_)
% 1+ceil(abs(N-Q_(ioi-1,idi-1)))
DD=abs(N-Q_(ioi-1,idi-1));

DD=min(548,(550/sigm)* DD );

% 1+ceil(DD)
% size(u_)
B=u_( 1+ ceil(DD));


% K=PSF;
K=PSF.*B;
K=K/sum(sum(K)) ;

F=N1.*K;

G_(ioi-1,idi-1)= sum(sum(F));


end
end
G= G_(round(r/2) :round(r/2)+size(F1_,1) -1 ,round(r/2) :round(r/2)+size(F1_,2) -1 );
G=norm(F1_)*G/norm(G);
background_model.m
co;
clc;

load hadera1.mat
show=1;
cc;

x_=p1.Position(2);
y_=p1.Position(1);




% x_=p3.Position(2);
% y_=p3.Position(1);
%w1=0;w2=0;
w1=200;w2=350;
%w1=4;w2=4;
%w1=10;w2=20;
% X=X(:,:,15:28);
% spectrum=spectrum(15:28);

BB= X ;
%CCC=get_spectrum(BB,aa1.Position(2),aa1.Position(1)) ; PPP=CCC;

%PPP=spectrum;
PPP=spectrum1;

cccc=BB(:,:,8);



figure;cla;
plot(PPP);

figure;
ai_(cccc);

sample8=reshape(BB(:,:,8),[],1);
sample12=reshape(BB(:,:,12),[],1);
sample20=reshape(BB(:,:,20),[],1);
sample25=reshape(BB(:,:,25),[],1);
sample28=reshape(BB(:,:,28),[],1);


sample0 =[sample8,sample12,sample20,sample25,sample28];
partition0=codebook_partition_10(sample0,3,0,0) ;
map_good0= vizual_mask_partition(partition0,1-0*BB(:,:,8) ) ;

figure(5643)
subplot(133)
imshow(uint8( BB(:,:,8:10)/20+map_good0/4 ) )
subplot(132)
ai_( BB(:,:,8) )
subplot(131)
imshow(uint8( map_good0))
background_model_desert_0.m
clc;


show=1;
cc;





% x_=p3.Position(2);
% y_=p3.Position(1);
%w1=0;w2=0;
w1=200;w2=350;
%w1=4;w2=4;
%w1=10;w2=20;
% X=X(:,:,15:28);
% spectrum=spectrum(15:28);

%X=sample_301;
BB=X ;
%CCC=get_spectrum(BB,aa1.Position(2),aa1.Position(1)) ; PPP=CCC;

%PPP=spectrum;
PPP=spectrum ;

cccc=BB(:,:,8);



figure;cla;
plot(PPP);

figure;
ai_(cccc);

sample8=reshape(BB(:,:,8),[],1);
sample12=reshape(BB(:,:,12),[],1);
sample20=reshape(BB(:,:,20),[],1);
sample25=reshape(BB(:,:,25),[],1);
sample28=reshape(BB(:,:,28),[],1);


sample0 =[sample8,sample12,sample20,sample25,sample28];
partition0=codebook_partition_10(sample0,3,0,0) ;
map_good0= vizual_mask_partition(partition0,1-0*BB(:,:,8) ) ;
map_good1= uint8( map_good0);
figure(5643)
subplot(133)
imshow(uint8( BB(:,:,8:10)/40+map_good0/4 ) )
subplot(132)
ai_( BB(:,:,8) )
subplot(131)
imshow(uint8( map_good0))
background_model_field.m
clc;


show=1;
cc;





% x_=p3.Position(2);
% y_=p3.Position(1);
%w1=0;w2=0;
w1=200;w2=350;
%w1=4;w2=4;
%w1=10;w2=20;
% X=X(:,:,15:28);
% spectrum=spectrum(15:28);

%X=sample_301;
BB=X ;
%CCC=get_spectrum(BB,aa1.Position(2),aa1.Position(1)) ; PPP=CCC;

%PPP=spectrum;
PPP=spectrum ;

cccc=BB(:,:,8);



figure;cla;
plot(PPP);

figure;
ai_(cccc);

sample8=reshape(BB(:,:,8),[],1);
sample12=reshape(BB(:,:,12),[],1);
sample20=reshape(BB(:,:,20),[],1);
sample25=reshape(BB(:,:,25),[],1);
sample28=reshape(BB(:,:,28),[],1);


sample0 =[sample8,sample12,sample20,sample25,sample28];
partition0=codebook_partition_10(sample0,3,0,0) ;
map_good0= vizual_mask_partition(partition0,1-0*BB(:,:,8) ) ;
map_good1= uint8( map_good0);
figure(5643)
subplot(133)
imshow(uint8( BB(:,:,8:10)/40+map_good0/4 ) )
subplot(132)
ai_( BB(:,:,8) )
subplot(131)
imshow(uint8( map_good0))
band_rand_permute_couple.m
function [BB1,sp1]=band_rand_permute_couple(BB,sp)
[q,w,e]=size(BB);
IX1=randperm(e);
sp1=sp(IX1);
BB1=BB(:,:,IX1);


end
belaterami_conv_3.m
function G=belaterami_conv_3(F1_,F2_,k1,k2,sigm)


PSF = fspecial('gaussian',k1 ,k2);
u_=generate_intensity_gaussian(sigm);

% figure(543)
% ai_(u_)
%

r=size(PSF,1) ;
r_=round(r/2);


F_=zeros(size(F1_,1)+r,size(F1_,2)+r);

F_(round(r/2):round(r/2)+size(F1_,1)-1 ,round(r/2):round(r/2)+size(F1_,2)-1 )=F1_;
Q_=zeros(size(F1_,1)+r,size(F1_,2)+r);

Q_(round(r/2):round(r/2)+size(F1_,1)-1 ,round(r/2):round(r/2)+size(F1_,2)-1 )=F2_;


G_=zeros(size(F_));


for ioi=r_+1:size(F1_,1)+r_
for idi=r_+1:size(F1_,2)+r_

N1= F_ (ioi-r_ :ioi-r_+r-1 ,idi-r_:idi-r_+r-1);
N = Q_ (ioi-r_ :ioi-r_+r-1 ,idi-r_:idi-r_+r-1);
% size(u_)
% 1+ceil(abs(N-Q_(ioi-1,idi-1)))
DD=abs(N-Q_(ioi-1,idi-1));
DD=(size(u_,2)-3)*DD/(max(max(DD))+eps);
% 1+ceil(DD)
% size(u_)
B=u_( 1+ceil(DD));



K=PSF.*B;
K=K/sum(sum(K)) ;

F=N1.*K;

G_(ioi-1,idi-1)= sum(sum(F));


end
end
G= G_(round(r/2) :round(r/2)+size(F1_,1) -1 ,round(r/2) :round(r/2)+size(F1_,2) -1 );
G=norm(F1_)*G/norm(G);
BREGMAN_2D_frame_2.m
function [ uk1,gk]=BREGMAN_2D_frame_2(uk,g,mu,delt,B,frame,n_c0)


r1=frame_recon2_(uk,frame.Par,frame.Ll,frame.PD,frame.De,frame.ex,frame.Do,-frame.dr);

if(frame.show)
figure(45);cla;
ai(r1)
figure(15);cla;
plot(reshape(uk,1,[]));
pause
end

r2= conv2(r1,B,'same');

r3=g-r2;

r4=conv2(r3,B','same');
r5=frame_decomp2(r4,frame.Par,frame.Ll,frame.PD,frame.De,frame.ex,frame.Do,frame.dr);

gk=uk+delt*r5;

uk1=t_mu(gk,mu);
% uk1=n_c0*(uk1/norm(uk1));
create_cloth_background.m
function back_tablecloth_1= create_cloth_background(F1,F2,wwx, wwy, int_int,mask_obj_first)
F1_=F1(:,:,1);
F2_=F2(:,:,1);
F2_back=translate_flow_3(F2 , -wwx, -wwy);
F1_0=F2_back(:,:,1);
back_sh=(translate_flow_3( int_int, -wwx, -wwy)>0);

occl_1= min(mask_obj_first,1- back_sh);
back_tablecloth_0=F1_;
back_tablecloth_0(find(occl_1) )=F1_0(find(occl_1) );
% mask_obj_first=smart_mask_object_correction(F1_,mask_obj_first1,10);
%
% figure(4363)
% ai_(F1_ +255*mask_obj_first1)

figure(4364)
subplot(221)
ai_(F1_ +255*mask_obj_first)
subplot(222)
ai_(F1_ +255*occl_1)
subplot(223)
ai_(F1_ +255*back_sh)
subplot(224)
ai_(back_tablecloth_0)


imwrite(uint8(F2_ ),'bb2.png','png');
imwrite(uint8(F1_),'bb1.png','png');
imwrite(uint8( F1_0),' F_0.png','png');
imwrite(uint8(back_tablecloth_0),'back_tablecloth.png','png');





suspicious=min(morph(occl_1,0,5),1-morph(occl_1,5,0));
figure(63528)
ai_( F1_+ 255*suspicious)
title('susp')

mask_F1=check_segmentation_local_2 ( suspicious ,1-mask_obj_first ,F1,F2_back );
back_tablecloth_1=back_tablecloth_0;
back_tablecloth_1(find(suspicious-mask_F1))=F1_0(find(suspicious-mask_F1));
figure(4365)
subplot(121)
ai_(back_tablecloth_0)
subplot(122)
ai_(back_tablecloth_1)
imwrite(uint8(back_tablecloth_1),'back_tablecloth2.png','png');
dirr.m
function [list,sumbytes,varargout] = DIRR(chemin,varargin)

%
%
% DIRR
% Lists all files in the current directory and sub directories
% recursively.
%
% [LIST] = DIRR(PATH)
% Returns a structure LIST with the same fieldnames as returned
% by LIST = DIR(PATH)
% PATH can contain wildcards * and ? after the last \ or / (filename
% filter)
% The content of each directory in PATH is listed inside its 'isdir'
% field with the same format. The 'bytes' field is NOT zero but the
% sum of all filesizes inside the directory.
%
% [LIST,BYTES] = DIRR(PATH)
% BYTES is a structure with fields 'total' and 'dir'. 'total' is the total
% size of PATH. 'dir' is a recursive substructure that contains the
% same fields ('total' and 'dir') for the subdirectories.
%
% [...] = DIRR(PATH,FILTER)
% Lists only files matching the string FILTER (non case sensitive
% regular expression).
% N.B.: FILTER is optional and must not be equal to a fieldname
% ('name' or 'date' ... will never be interpreted as filters)
%
% [LIST,BYTES,FIELDOUT] = DIRR(PATH,FIELDIN, ...)
% FIELDIN is a string specifying a field (of the structure LIST) that
% will be listed in a separate cell array of strings in FIELDOUT for
% every file with absolute path at the begining of the string.
% Multiple fields can be specified.
%
% [LIST,BYTES,FIELDOUT] = DIRR(PATH,FIELDIN,FILTER, ...)
% Only files for which FIELDIN matches FILTER will be returned.
% Multiple [FIELDIN, FILTER] couples may be specified.
% Recursion can be avoided here by setting 'isdir' filter to '0'.
% For bytes, numeric comparison will be performed.
%
%
% EXAMPLES :
%
% DIRR
% Lists all files (including path) in the current directory and it's
% subdirectories recursively.
%
% DIRR('c:\matlab6p5\work\*.m')
% Lists all M-files in the c:\matlab6p5\work directory and it's
% subdirectories recursively.
%
% Music = DIRR('G:\Ma musique\&Styles\Reggae\Alpha Blondy')
% Returns a structure Music very similar to what DIR returns
% but containing the information on the files stored in
% subdirectories of 'G:\Ma musique\&Styles\Reggae\Alpha Blondy'.
% The structure Music is a bit difficult to explore though.
% See next examples.
%
% [Files,Bytes,Names] = DIRR('c:\matlab6p5\toolbox','\.mex\>','name')
% Lists all MEX-files in the c:\matlab6p5\toolbox directory in the cell
% array of strings Names (including path).
% Note the regexp syntax of the filter string.
% Bytes is a structure with fields "total" and "dir". total is the
% total size of the directory, dir is a recursive substructure with
% the same fields as bytes for the subdirectories.
%
% [Files,Bytes,Names] = DIRR('c:\toto'...
% ,'name','bytes','>50000','isdir','0')
% Lists all files larger than 50000 bytes NOT recursively.
%
% [Files,Bytes,Dates] = DIRR('c:\matlab6p5\work','date','2005')
% Lists all dates of files from year 2005. (With path in front of
% date in the cell array of strings Dates)
%
%
%
% v1.02
% Maximilien Chaumon
% maximilien.chaumon@chups.jussieu.fr
% 2006 06 16


verbose = 0;
% set to 1 to get folders list in command window

if nargin == 0
chemin = cd;
end
if nargout == 0
dum = varargin;
varargin{1} = 'name';
varargin = [varargin(1) dum];
end

fields = {'name' 'date' 'bytes' 'isdir'};

if regexp(chemin,'[\*\?]') % if chemin contains any ? or *
filt = regexprep(chemin,'.*[\\/](.*\>)','$1');% get filter
filt = regexprep(filt,'\.','\.');% in regexp format
filt = regexprep(filt,'\*','.*');
filt = regexprep(filt,'\?','.');
filt = regexprep(filt,'(.*)','\\<$1');
chemin = regexprep(chemin,'(.*)[\\/].*\>','$1');% and chemin
end

if not(isempty(varargin)) % if additional fields were provided after chemin
for i = 1:length(fields)
if strcmp(varargin{1},fields{i})% if first varargin matches a fieldname,
% assume no filter was provided,

if not(exist('filt','var'))% or it was in chemin and was set just before
filt = '.*';% set it to wildcard
break

end
end
end
if not(exist('filt','var'))% else
filt = varargin{1};% first varargin is the filter
varargin(1) = [];
end
else% if no additional fields were provided and filter was not in chemin
if not(exist('filt','var'))
filt = '.*';
end
end
% determine which varargin are fieldnames
whicharefields = zeros(1,length(varargin));
for i = 1:length(varargin)
for j = 1:length(fields)
if strcmp(varargin{i},fields{j})
whicharefields(i) = 1;
break
end
end
end
% set f2out and f2outfilt
f2out = {}; f2outfilt = {};
idx = 0;
if not(isempty(varargin))
for i = 1:length(varargin)
if whicharefields(i)
idx = idx + 1;
f2out{idx} = varargin{i};
f2outfilt{idx} = '';
else % if nargin{i} is not a fieldname, assume it's a filter
f2outfilt{idx} = varargin{i};
end
end
end

%%%%%%%%%%%%%%%%%%%% START
if verbose
disp(chemin);
end

list = dir(chemin);
if isempty(list)
disp([chemin ' not found']);
if nargout == 0
clear list
else
for i = 1:nargout - 2
varargout{i} = [];
end
sumbytes = 0;
end
return
end
% remove . and ..
i_file = 1;
while i_file <= length(list)
if strcmp(list(i_file).name,'.')|strcmp(list(i_file).name,'..')
list(i_file) = [];
else
i_file = i_file + 1;
end
end

% set sumbytes
sumbytes = struct('total',0,'dir',{});
sumbytes(1).total = 0;
i_dir = 0;
% and all output fields
for i = 1:size(f2out,2)
f2out{2,i} = {};
end
filenames = {};
todel = 0;
r = 1;
for i_out = 1:size(f2out,2)
if strcmp(f2out{1,i_out},'isdir')
if strcmp(f2outfilt{i_out},'0') % check if no recursion is wanted
r = 0;
end
end
end

% for each item in list
for i_file = 1:length(list)
for i_out = 1:size(f2out,2) % for every output field
if not(isempty(f2outfilt{i_out}))% if there is a filter
if strcmp(f2out{1,i_out},'bytes') % if field is 'bytes'
line = [num2str(list(i_file).(f2out{1,i_out})) f2outfilt{i_out} ';']; % compare with filter numerically
if eval(line)% if passes the filter
continue % continue to next field
else
todel(end+1) = i_file; % else set to be deleted
end
elseif not(strcmp(f2out{1,i_out},'isdir'))% if field is 'name' or 'date'
if regexpi(list(i_file).(f2out{1,i_out}),f2outfilt{i_out}) % apply filter
continue % continue to next field
else
todel(end+1) = i_file; % else set to be deleted
end
end
end
end
% once checked for every field's filter
if todel(end) == i_file % if one didn't pass,
if not(list(i_file).isdir) % and it's not a directory
continue % skip this file and continue
end
else
if regexpi(list(i_file).name,filt) % else, check for general filter on filename
sumbytes(1).total = sumbytes(1).total + list(i_file).bytes; % sum bytes of that level
for i_out = 1:size(f2out,2)% and assign all output fields with the values of that file
f2out{2,i_out}{end+1} = [chemin filesep num2str(list(i_file).(f2out{1,i_out}))];
end
else
todel(end+1) = i_file; % else the file will be removed from the list structure
end
end

Литература
Ватолин Д., Ратушняк А., Смирнов М., Юкин В., Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео. Москва, Диалог-МИФИ, 2002
Прэтт У. Цифровая обработка изображений: Пер. с англ.—М.: Мир, 1982.— Кн.1—312 с, ил.
Y. Yuan and M. K. Mandal, Low-band shifted hierarchical backward motion estimation and compensation for wavelet-based video coding. Proc. of the 3rd Indian Conference on Computer Vision, Graphics and Image Processing, pp. 185-190, Ahmedabad, India, Dec 16-18, 2002.
G. de Haan, Progress in motion estimation for video format conversion. IEEE Transactions on Consumer Electronics Vol 46 No 3 Aug 2000 pp 449-450
C.-H. Lee and L.-H. Chen, A Fast Motion Estimation Algorithm Based on the Block Sum Pyramid. IEEE Trans. Image Processing, vol. 6, pp. 1587-1591, Nov. 1997.
Yong-Sheng Chen, Yi-Ping Hung, Chiou-Shann Fuh, A Fast Block Matching Algorithm Based on the Winner-Update Rule. Proceedings of Fourth Asian Conference on Computer Vision(ACCV), Vol. 2, pp. 977-982, Taipei, January 2000.
Toivonen T, Heikkilä J & Silvén O, A New Algorithm for Fast Full Search Block Motion Estimation Based on Number Theoretic Transforms. Proc. 9th International Workshop on Systems, Signals and Image Processing, November 7-8, Manchester, United Kingdom, 90-94, 2002
M. Gallant et al., An Efficient Computation-Constrained Block-Based Motion Estimation Algorithm for Low Bit Rate Video Coding. IEEE Transactions on Image Processing, vol. 8, no. 12, Dec. 1999.
S. Olivieri, G. de Haan, and L. Albani, Noise-robust recursive motion estimation for H.263-based videoconferencing systems. Proc. Int. Workshop on Multimedia Signal Processing, Sep, 1999, Copenhagen, pp. 345-350.
R. Braspenning and G. de Haan, Efficient Motion Estimation with Content-Adaptive Resolution. Proceedings of ISCE'02, Sep. 2002, pp. E29-E34.
G. de Haan and R.J. Schutten, Real-time 2-3 pull-down elimination applying motion estimation / compensation on a programmable device. Digest of the ICCE'98, Jun. 1998, Los Angeles, pp.356-357.
Wang D., Unsupervised video segmentation based on watersheds and temporal tracking. IEEE Trans. Circuits Syst. Video Technol., vol. 8, pp. 539--546, Sept. 1998.
Memin, E., Perez, P., Hierarchical estimation and segmentation of dense motion fields. International Journal of Computer Vision 46 (2002) 129-155
Blume, H., Amer, A., Parallel Predictive Motion Estimation using Object Recognition Methods. Proceedings of the European Workshop and Exhibition on Image Format Conversion and Transcoding, March 22 23, 1995, Berlin, Germany
Literature Survey on Anomaly Detection in Hyperspectral Imaging, Eyal Madar, Research Report - June 2009, MAFAT Project No: 010063, TAMOUZ, 5768 HAIFA, Technion, JUNE, 2009
Sparse and Redundant Representations From Theory to Applications in Signal and Image processing, By Michael Elad The Computer Science department The Technion–Israel Institute of Technology Haifa, 32000 Israel
http://cgm.computergraphics.ru/content/view/76
http://www.pctuner.ru/page.php?id=517
http://www.hifinews.ru/advices/details/39.htm
22

Список литературы [ всего 19]

1.Ватолин Д., Ратушняк А., Смирнов М., Юкин В., Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео. Москва, Диалог-МИФИ, 2002
2.Прэтт У. Цифровая обработка изображений: Пер. с англ.—М.: Мир, 1982.— Кн.1—312 с, ил.
3.Y. Yuan and M. K. Mandal, Low-band shifted hierarchical backward motion estimation and compensation for wavelet-based video coding. Proc. of the 3rd Indian Conference on Computer Vision, Graphics and Image Processing, pp. 185-190, Ahmedabad, India, Dec 16-18, 2002.
4.G. de Haan, Progress in motion estimation for video format conversion. IEEE Transactions on Consumer Electronics Vol 46 No 3 Aug 2000 pp 449-450
5.C.-H. Lee and L.-H. Chen, A Fast Motion Estimation Algorithm Based on the Block Sum Pyramid. IEEE Trans. Image Processing, vol. 6, pp. 1587-1591, Nov. 1997.
6.Yong-Sheng Chen, Yi-Ping Hung, Chiou-Shann Fuh, A Fast Block Matching Algorithm Based on the Winner-Update Rule. Proceedings of Fourth Asian Conference on Computer Vision(ACCV), Vol. 2, pp. 977-982, Taipei, January 2000.
7.Toivonen T, Heikkila J & Silven O, A New Algorithm for Fast Full Search Block Motion Estimation Based on Number Theoretic Transforms. Proc. 9th International Workshop on Systems, Signals and Image Processing, November 7-8, Manchester, United Kingdom, 90-94, 2002
8.M. Gallant et al., An Efficient Computation-Constrained Block-Based Motion Estimation Algorithm for Low Bit Rate Video Coding. IEEE Transactions on Image Processing, vol. 8, no. 12, Dec. 1999.
9.S. Olivieri, G. de Haan, and L. Albani, Noise-robust recursive motion estimation for H.263-based videoconferencing systems. Proc. Int. Workshop on Multimedia Signal Processing, Sep, 1999, Copenhagen, pp. 345-350.
10.R. Braspenning and G. de Haan, Efficient Motion Estimation with Content-Adaptive Resolution. Proceedings of ISCE'02, Sep. 2002, pp. E29-E34.
11.G. de Haan and R.J. Schutten, Real-time 2-3 pull-down elimination applying motion estimation / compensation on a programmable device. Digest of the ICCE'98, Jun. 1998, Los Angeles, pp.356-357.
12.Wang D., Unsupervised video segmentation based on watersheds and temporal tracking. IEEE Trans. Circuits Syst. Video Technol., vol. 8, pp. 539--546, Sept. 1998.
13.Memin, E., Perez, P., Hierarchical estimation and segmentation of dense motion fields. International Journal of Computer Vision 46 (2002) 129-155
14.Blume, H., Amer, A., Parallel Predictive Motion Estimation using Object Recognition Methods. Proceedings of the European Workshop and Exhibition on Image Format Conversion and Transcoding, March 22 23, 1995, Berlin, Germany
15.Literature Survey on Anomaly Detection in Hyperspectral Imaging, Eyal Madar, Research Report - June 2009, MAFAT Project No: 010063, TAMOUZ, 5768 HAIFA, Technion, JUNE, 2009
16.Sparse and Redundant Representations From Theory to Applications in Signal and Image processing, By Michael Elad The Computer Science department The Technion–Israel Institute of Technology Haifa, 32000 Israel
17.http://cgm.computergraphics.ru/content/view/76
18.http://www.pctuner.ru/page.php?id=517
19.http://www.hifinews.ru/advices/details/39.htm
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00379
© Рефератбанк, 2002 - 2024