Помощь в написании студенческих работ
Антистрессовый сервис

Анализ методов сравнения графический изображений

Дипломная Купить готовую Узнать стоимостьмоей работы

Baigarova, N. S. and Bukhshtab, Yu. A., Some Principles of Organization for Searching through Video Data, Programming and Computer Software, Vol. 25, Nu. 3, 1999, pp. 165−170. J.L. Mannos, D.J. Sakrison «The Effects of Visual Fidelity Criterion on the Encoding of Images» // IEEE Transactions on Information Theory IT-20(4) 1974, pp. 525−536. Carson, C., Belongie, S., Greenspan, H., and Malik, J… Читать ещё >

Анализ методов сравнения графический изображений (реферат, курсовая, диплом, контрольная)

Содержание

  • Введение

Первая глава. Обзор способов различения картинок Попиксельный способ Коэффициент Пирсона Коэффициент Спирмена Способ с использованием преобразования Фурье Обзор других способов Вторая глава. Преобразование Фурье Прямое и обратное и свойства Дискретное преобразование Фурье Применение Физический смысл преобразования Реализация Третья глава. Описание способа распознавания Теоретическое описание Обоснование способа

Список литературы

buttonCreateBorder.Name = «buttonCreateBorder» ;

this.buttonCreateBorder.Size = new System.Drawing.Size (300, 37);

this.buttonCreateBorder.TabIndex = 7;

this.buttonCreateBorder.Text = «Выделение границ» ;

this.buttonCreateBorder.UseVisualStyleBackColor = true;

this.buttonCreateBorder.Click += new System. EventHandler (this.button2_Click);

// button1

this.button1.ForeColor = System.Drawing.SystemColors.Desktop;

this.button1.Location = new System.Drawing.Point (100, 645);

this.button1.Name = «button1» ;

this.button1.Size = new System.Drawing.Size (125, 37);

this.button1.TabIndex = 8;

this.button1.Text = «ЧБ» ;

this.button1.UseVisualStyleBackColor = true;

this.button1.Click += new System. EventHandler (this.button1_Click);

// Correlate

this.Correlate.ForeColor = System.Drawing.SystemColors.Desktop;

this.Correlate.Location = new System.Drawing.Point (1004, 157);

this.Correlate.Name = «Correlate» ;

this.Correlate.Size = new System.Drawing.Size (142, 55);

this.Correlate.TabIndex = 9;

this.Correlate.Text = «Корреляционный способ» ;

this.Correlate.UseVisualStyleBackColor = true;

this.Correlate.Click += new System. EventHandler (this.Correlate_Click1);

// FFT

this.FFT.ForeColor = System.Drawing.SystemColors.Desktop;

this.FFT.Location = new System.Drawing.Point (1004, 233);

this.FFT.Name = «FFT» ;

this.FFT.Size = new System.Drawing.Size (142, 50);

this.FFT.TabIndex = 10;

this.FFT.Text = «FFT» ;

this.FFT.UseVisualStyleBackColor = true;

this.FFT.Click += new System. EventHandler (this.FFT_Click);

// buttonResize

this.buttonResize.ForeColor = System.Drawing.SystemColors.Desktop;

this.buttonResize.Location = new System.Drawing.Point (341, 645);

this.buttonResize.Name = «buttonResize» ;

this.buttonResize.Size = new System.Drawing.Size (140, 40);

this.buttonResize.TabIndex = 11;

this.buttonResize.Text = «Изменение размера» ;

this.buttonResize.UseVisualStyleBackColor = true;

this.buttonResize.Click += new System. EventHandler (this.buttonResize_Click);

// pictureBox7

this.pictureBox7.Location = new System.Drawing.Point (977, 340);

this.pictureBox7.Name = «pictureBox7» ;

this.pictureBox7.Size = new System.Drawing.Size (300, 300);

this.pictureBox7.TabIndex = 5;

this.pictureBox7.TabStop = false;

// GUI

this.AutoScaleDimensions = new System.Drawing.SizeF (6 °F, 13F);

this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

this.BackColor = System.Drawing.SystemColors.ControlLightLight;

this.ClientSize = new System.Drawing.Size (1284, 694);

this.Controls.Add (this.buttonResize);

this.Controls.Add (this.FFT);

this.Controls.Add (this.Correlate);

this.Controls.Add (this.button1);

this.Controls.Add (this.buttonCreateBorder);

this.Controls.Add (this.buttonSmoothBrightness);

this.Controls.Add (this.pictureBox7);

this.Controls.Add (this.pictureBox6);

this.Controls.Add (this.pictureBox5);

this.Controls.Add (this.pictureBox4);

this.Controls.Add (this.pictureBox3);

this.Controls.Add (this.pictureBox2);

this.Controls.Add (this.pictureBox1);

this.ForeColor = System.Drawing.SystemColors.ButtonShadow;

this.Name = «GUI» ;

this.Text = «тест возможностей» ;

((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit ();

((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit ();

((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit ();

((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).EndInit ();

((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).EndInit ();

((System.ComponentModel.ISupportInitialize)(this.pictureBox6)).EndInit ();

((System.ComponentModel.ISupportInitialize)(this.pictureBox7)).EndInit ();

this.ResumeLayout (false);

}

#endregion

private System.Windows.Forms.PictureBox pictureBox1;

private System.Windows.Forms.PictureBox pictureBox2;

private System.Windows.Forms.PictureBox pictureBox3;

private System.Windows.Forms.PictureBox pictureBox4;

private System.Windows.Forms.PictureBox pictureBox5;

private System.Windows.Forms.PictureBox pictureBox6;

private System.Windows.Forms.Button buttonSmoothBrightness;

private System.Windows.Forms.Button buttonCreateBorder;

private System.Windows.Forms.Button button1;

private System.Windows.Forms.Button Correlate;

private System.Windows.Forms.Button FFT;

private System.Windows.Forms.Button buttonResize;

private System.Windows.Forms.PictureBox pictureBox7;

}

}

Приведение изображения к серому цвету.

using System;

using System.Collections.Generic;

using System. Text;

using System. Drawing;

namespace FFTLibrary

{

public class ImageManager

{

/// Preparing picture for FFT

/// Bitmap of the picture to prepare

/// Prepared Bitmap

public void GetHistogram (Image picture, out Image histogram)

{

GrayScale.ToGray (picture);

picture = SplineResizeBitmap. Resizing (picture, 256, 256);

double[][] piccolor = new double[picture.Height][];

for (int i = 0; i < piccolor. Length; i++)

piccolor[i] = new double[picture.Width];

for (int i = 0; i < piccolor. Length; i++)

for (int j = 0; j < piccolor[0]. Length; j++)

piccolor[i][j] = (picture.GetPixel (i, j).R + picture. GetPixel (i, j).G + picture. GetPixel (i, j).B) / 3;

HistogramFromBytes (piccolor, out histogram, picture. Width, picture. Height);

}

/// Prepating picture to FFT

/// Picture to prepare

private void ProcessPicture (Image picture, out Image histogram)

{

GrayScale.ToGray (picture);

picture = SplineResizeBitmap. Resizing (picture, 1024, 1024);

GetHistogram (picture, out histogram);

}

/// Main method allowing to compare two pictures and to receive result in percents.

/// Pattern picture.

/// Picture to compare with pattern.

/// Difference in percents.

public void ComparePictures (Image pattern, Image picture, out Image patternHistogram, out Image pictureHistogram, uint percent)

{

ProcessPicture (pattern, out patternHistogram);

ProcessPicture (picture, out pictureHistogram);

percent = 0;

}

/// Get Histogram for given picture

private void HistogramFromBytes (double[][] data, out Image histogram, int height, int width)

{

histogram = new Image (width, height);

double[][] hist2;

double[][] hist;

new FastFourierTransform ().GetHistogram (data, width, height, false, out hist2);

new FastFourierTransform ().HistogramToLog (hist2, out hist);

double maxval = hist[0][0];

for (int i = 0; i < histogram. Height; i++)

for (int j = 0; j < histogram. Width; j++)

if (hist[i][j] > maxval)

maxval = hist[i][j];

if (maxval == 0)

maxval = 1;

for (int i = 0; i < histogram. Height; i++)

for (int j = 0; j < histogram. Width; j++)

{

histogram.SetPixel (i, j, Color. FromArgb ((int)(hist[i][j] / maxval * 255), (int)(hist[i][j] / maxval * 255), (int)(hist[i][j] / maxval * 255)));

}

}

}

}

Поиск центра фигуры

using System;

using System.Collections.Generic;

using System. Text;

using System. Drawing;

namespace FFTLibrary

{

public class FigureIdent

{

public static void FindCenter (FFTLibrary.Image img, ref int x, ref int y)

{

int chx = 0;

int chy = 0;

int ch = 0;

for (int i = 0; i < img. Width; i++)

{

for (int j = 0; j < img. Height; j++)

{

if (img.GetPixel (i, j).R == 255 && img. GetPixel (i, j).G == 0)

{

ch++;

chx += i;

chy += j;

}

}

}

x = (int)((double)chx / (double)ch);

y = (int)((double)chy / (double)ch);

return;

}

public static void DrawGraph (FFTLibrary.Image img, int x, int y, out double[] rad)

{

rad = new double[720];

rad[0] = 0;

for (double i = 0; i < 360; i+=0.5)

{

double kx = Math. Cos (Math.PI * (double)(i)/180.

0);

double ky = Math. Sin (Math.PI * (double)(i)/180.

0);

for (double j = 0; j < Math. Max (img.Height, img. Width); j+=0.1)

{

if (x + kx * j < img. Width && x + kx * j > 0 && y + ky * j < img. Height && y + ky * j > 0)

{

if (img.GetPixel ((int)(x + kx * j), (int)(y + ky * j)).R == 255 && img. GetPixel ((int)(x + kx * j), (int)(y + ky * j)).G == 0)

{

rad[(int)(i*2)] = j;

break;

}

}

else

{

rad[(int)(i*2)] = rad[(int)(i*2) — 1];

}

}

}

}

public static void FindExtremumMax (double[] rad, double[] koef, out double[] extremum, out int count)

{

extremum = new double[rad.Length];

count = 0;

double[] arr = new double[rad.Length];

for (int i = 0; i < rad. Length; i++)

{

arr[i] = 0;

for (int j = -5; j < 6; j++)

{

arr[i] += rad[(i + j + rad. Length) % rad. Length];

}

arr[i] = arr[i] / 11;

}

for (int i = 0; i < rad. Length; i++)

{

rad[i] = arr[i];

}

for (int i = 0; i < rad. Length; i++)

{

if (rad[i] < rad[(i + 1) % rad. Length])

{

bool flag = false;

for (int j = 2; j < 20; j++)

{

if (rad[(i + 1) % rad. Length] > rad[(i + j) % rad. Length])

{

flag = true;

}

else

{

flag = false;

break;

}

}

if (!flag)

{

extremum[(i + 1) % rad. Length] = 0;

}

else

{

extremum[(i + 1) % rad. Length] = rad[(i + 1) % rad. Length];

}

}

else

{

extremum[(i + 1) % rad. Length] = 0;

}

}

for (int i = 0; i < extremum. Length; i++)

{

for (int j = i; j < extremum. Length; j++)

{

if (extremum[i] < extremum[j])

{

double temp = extremum[i];

extremum[i] = extremum[j];

extremum[j] = temp;

}

}

}

for (int i = 0; i < rad. Length; i++)

{

if (extremum[i] ≠ 0)

{

count++;

}

}

}

public static void DoubleToImage (Image temp, ref double[] rad, out Image res)

{

res = new FFTLibrary. Image (720, Math. Max (temp.Height, temp. Width));

for (int i = 0; i < 720; i++)

{

for (int j = 0; j < Math. Max (temp.Height, temp. Width); j++)

{

res.SetPixel (i, j, Color. FromArgb (255, 255, 255));

}

}

for (int i = 0; i < 720; i++)

{

res.SetPixel (i, Math. Max (temp.Height, temp. Width) — (int)rad[i] * 2, Color. FromArgb (0, 0, 0));

}

}

//——————————————————————————————————————————-;

private static Bitmap CheckBorders (Bitmap bmp1)

{

FFTLibrary.Image img = new FFTLibrary. Image (bmp1);

Border brd = new Border (img, 20);

return brd. ToBitmap (Color.Red);

}

public static void GeometricAnalysis (Bitmap picture, out Bitmap hist, out int count)

{

hist = new Bitmap (811, 296);

count = 0;

int x = 0;

int y = 0;

FFTLibrary.Image temp = new FFTLibrary. Image (picture);

FFTLibrary.FigureIdent.FindCenter (temp, ref x, ref y);

double[] rad;

FFTLibrary.FigureIdent.DrawGraph (temp, out rad, 720);

FFTLibrary.Image res;

FFTLibrary.FigureIdent.DoubleToImage (temp, ref rad, out res);

double[] ttt = new double[] { };

FFTLibrary.FigureIdent.FindExtremumMax (rad, null, out ttt, out count);

hist = res. ToBitmap ();

}

//——————————————————————————————————————————-;

public static void DrawGraph (Image img, out double[] rad, int length)

{

rad=new double[length];

double[] Rad;

double[] Alfa;

double[] Koef;

int x=0;

int y=0;

FindCenter (img, ref x, ref y);

FindFunction (img, x, y, out Rad, out Alfa, out Koef);

for (int i=0;i

{

rad[i] = SplineResizeBitmap. SplineInterpolation (ref Koef, 360.

0 / length * i);

}

}

public static void FindFunction (Image img, int x, int y, out double[] rad, out double[] alfa, out double[] koef)

{

int ch = 0;

for (int i = 0; i < img. Width; i++)

{

for (int j = 0; j < img. Height; j++)

{

if (img.GetPixel (i, j).R == 255 && img. GetPixel (i, j).G == 0)

{

ch++;

}

}

}

rad = new double[ch];

alfa = new double[ch];

double l;

double alf;

ch = 0;

for (int i = 0; i < img. Width; i++)

{

for (int j = 0; j < img. Height; j++)

{

if (img.GetPixel (i, j).R == 255 && img. GetPixel (i, j).G == 0)

{

l = Math. Sqrt ((x — i) * (x — i) + (y — j) * (y — j));

if (j — y >= 0)

alf = Math. Atan2((j — y), (i — x)) * (180.

0 / Math. PI);

else

alf = (360-Math.Atan2(Math.Abs ((j — y)), (i — x)) * (180.

0 / Math. PI));

rad[ch] = l;

alfa[ch] = alf;

ch++;

}

}

}

koef = new double[] { };

SplineResizeBitmap.BuildLinearSpline (alfa, rad, ch, ref koef);

}

}

}

Работа с гистограммой

using System;

using System.Collections.Generic;

using System. Text;

using System. Drawing;

namespace FFTLibrary

{

public class ImageManager

{

/// Preparing picture for FFT

/// Bitmap of the picture to prepare

/// Prepared Bitmap

public void GetHistogram (Image picture, out Image histogram)

{

GrayScale.ToGray (picture);

picture = SplineResizeBitmap. Resizing (picture, 256, 256);

double[][] piccolor = new double[picture.Height][];

for (int i = 0; i < piccolor. Length; i++)

piccolor[i] = new double[picture.Width];

for (int i = 0; i < piccolor. Length; i++)

for (int j = 0; j < piccolor[0]. Length; j++)

piccolor[i][j] = (picture.GetPixel (i, j).R + picture. GetPixel (i, j).G + picture. GetPixel (i, j).B) / 3;

HistogramFromBytes (piccolor, out histogram, picture. Width, picture. Height);

}

/// Prepating picture to FFT

/// Picture to prepare

private void ProcessPicture (Image picture, out Image histogram)

{

GrayScale.ToGray (picture);

picture = SplineResizeBitmap. Resizing (picture, 1024, 1024);

GetHistogram (picture, out histogram);

}

/// Main method allowing to compare two pictures and to receive result in percents.

/// Pattern picture.

/// Picture to compare with pattern.

/// Difference in percents.

public void ComparePictures (Image pattern, Image picture, out Image patternHistogram, out Image pictureHistogram, uint percent)

{

ProcessPicture (pattern, out patternHistogram);

ProcessPicture (picture, out pictureHistogram);

percent = 0;

}

/// Get Histogram for given picture

private void HistogramFromBytes (double[][] data, out Image histogram, int height, int width)

{

histogram = new Image (width, height);

double[][] hist2;

double[][] hist;

new FastFourierTransform ().GetHistogram (data, width, height, false, out hist2);

new FastFourierTransform ().HistogramToLog (hist2, out hist);

double maxval = hist[0][0];

for (int i = 0; i < histogram. Height; i++)

for (int j = 0; j < histogram. Width; j++)

if (hist[i][j] > maxval)

maxval = hist[i][j];

if (maxval == 0)

maxval = 1;

for (int i = 0; i < histogram. Height; i++)

for (int j = 0; j < histogram. Width; j++)

{

histogram.SetPixel (i, j, Color. FromArgb ((int)(hist[i][j] / maxval * 255), (int)(hist[i][j] / maxval * 255), (int)(hist[i][j] / maxval * 255)));

}

}

}

}

using System;

using System. Drawing;

using System.Collections.Generic;

using System. Text;

using FFTLibrary;

using System.Windows.Forms;

namespace FFTLibrary

{

public class BSCV

{

private double c1, c2, c3;

public double Percent1

{

set { c1 = value; }

}

public double Percent2

{

set { c2 = value; }

}

public double Percent3

{

set { c3 = value; }

}

public BSCV ()

{

c1 = c2 = 0.3;

c3 = 0.4;

}

public static FFTLibrary. Image Filter (FFTLibrary.Image bmp, int Rad)

{

FFTLibrary.Image outbitmap = new FFTLibrary. Image (bmp.Width, bmp. Height);

for (int i = 0; i < bmp. Width; i++)

{

for (int j = 0; j < bmp. Height; j++)

{

outbitmap.SetPixel (i, j, Color. FromArgb (255, 255, 255));

}

}

for (int i = 0; i < bmp. Height; i++)

{

for (int j = 0; j < bmp. Width; j++)

{

if (bmp.GetPixel (j, i).R == 255 && bmp. GetPixel (j, i).G == 0)

{

int ch = 0;

for (int ii = i — Rad; ii <= i + Rad; ii++)

{

for (int jj = j — Rad; jj <= j + Rad; jj++)

{

if (ii < bmp. Height && ii > 0 && jj < bmp. Width && jj > 0 && (jj ≠ j — ii ≠ i))

{

if (bmp.GetPixel (jj, ii).R == 255 && bmp. GetPixel (jj, ii).G == 0)

{

if (jj ≠ j — ii ≠ i)

{

ch++;

}

}

}

}

}

if (ch > 1)

{

outbitmap.SetPixel (j, i, Color. FromArgb (255, 0, 0));

}

}

}

}

//green

for (int i = 0; i < bmp. Height; i++)

{

for (int j = 0; j < bmp. Width; j++)

{

if (bmp.GetPixel (j, i).R == 0 && bmp. GetPixel (j, i).G == 255)

{

int ch = 0;

for (int ii = i — Rad; ii <= i + Rad; ii++)

{

for (int jj = j — Rad; jj <= j + Rad; jj++)

{

if (ii < bmp. Height && ii > 0 && jj < bmp. Width && jj > 0 && (jj ≠ j — ii ≠ i))

{

if (bmp.GetPixel (jj, ii).R == 0 && bmp. GetPixel (jj, ii).G == 255)

{

if (jj ≠ j — ii ≠ i)

{

ch++;

}

}

}

}

}

if (ch > 1)

{

outbitmap.SetPixel (j, i, Color. FromArgb (0, 255, 0));

}

}

}

}

return outbitmap;

}

public static double SquareVer (FFTLibrary.Image Img1, FFTLibrary. Image Img2, int eps, int eps2)

{

FFTLibrary.Image filled_img1 = FillObject (Img1, eps, eps2);

FFTLibrary.Image filled_img2 = FillObject (Img2, eps, eps2);

Int64 ch = 0;

for (int x = 0; x < filled_img1.Width; x++)

{

for (int y = 0; y < filled_img1.Height; y++)

{

if (filled_img1.GetPixel (x, y) == filled_img2.GetPixel (x, y))

{

ch++;

}

}

}

return (double)(ch) / (double)(filled_img1.Width * filled_img1.Height);

}

public static FFTLibrary. Image FillObject (FFTLibrary.Image Img1, int epsilon, int epsilon2)

{

FFTLibrary.Image result = new FFTLibrary. Image (Img1.Width, Img1. Height);

FFTLibrary.Border brd = new Border (Img1, epsilon, true);

FFTLibrary.Image img = new FFTLibrary. Image (brd.toBitmap ());

//img = Filter (img, epsilon2);

for (int x = 0; x < img. Width; x++)

{

for (int y = 0; y < img. Height; y++)

{

if ((img.GetPixel (x, y).R == 255 && img. GetPixel (x, y).B == 0) — (img.GetPixel (x, y).G == 255 && img. GetPixel (x, y).B == 0))

{

Color srchc = new Color ();

if (img.GetPixel (x, y).R == 255 && img. GetPixel (x, y).B == 0)

{

srchc = Color. FromArgb (0,255,0);

}

else

{

srchc = Color. FromArgb (255, 0, 0);

}

result.SetPixel (x, y, Color. Black);

y++;

while (y < img. Height && img. GetPixel (x, y) ≠ srchc)

{

result.SetPixel (x, y, Color. Black);

y++;

}

while (y < img. Height && img. GetPixel (x, y) == srchc)

{

result.SetPixel (x, y, Color. Black);

y++;

}

}

else

{

result.SetPixel (x, y, Color. White);

}

}

}

//————————————————————-;

brd = new Border (Img1, epsilon, false);

img = new FFTLibrary. Image (brd.toBitmap ());

for (int y = 0; y < img. Height; y++)

{

for (int x = 0; x < img. Width; x++)

{

if ((img.GetPixel (x, y).R == 255 && img. GetPixel (x, y).B == 0) — (img.GetPixel (x, y).G == 255 && img. GetPixel (x, y).B == 0))

{

Color srchc = new Color ();

if (img.GetPixel (x, y).R == 255 && img. GetPixel (x, y).B == 0)

{

srchc = Color. FromArgb (0, 255, 0);

}

else

{

srchc = Color. FromArgb (255, 0, 0);

}

result.SetPixel (x, y, Color. Black);

x++;

while (x < img. Width && img. GetPixel (x, y) ≠ srchc)

{

result.SetPixel (x, y, Color. Black);

x++;

}

while (x < img. Width && img. GetPixel (x, y) == srchc)

{

result.SetPixel (x, y, Color. Black);

x++;

}

}

else

{

// result. SetPixel (x, y, Color. White);

}

}

}

return result;

}

}

}

Заключение

Способы обработки мультимедийных данных являются актуальной областью научных исследований. В последнее время, в связи с появлением множества приложений, использующих мультимедийный контент, таких как социальные сети, различные службы обмена данными через интернет, эффективные способы сжатия и обработки данных приобретают особую актуальность. В опубликованном недавно отчете фирма TeleGeography Research, наблюдающая за Интернетом, утверждает, что за 12-месячный период с середины 2007 по середину 2008 года международный Интернет-трафик вырос более чем на 53%, однако емкость Интернета растет еще быстрее. За предыдущий год рост Интернет-трафика составил 61%.

Повышение емкости Интернет-магистралей опережает рост трафика, что приводит к снижению уровня загрузки многих из них. Однако такой подход не может быть единственным. Одним из способов снижения нагрузки на передающие каналы является сжатие передаваемых данных.

В данном докладе представлено описание предлагаемых новых способов обработки изображений: растяжение и сжатие, сглаживание помех, детектор движения. Эти проблемы могут быть решены различными способами, начиная от простой работы с пикселями изображения и заканчивая применением математических моделей, таких как быстрое преобразование Фурье, разложение в полином Лагранжа или в сплайн.

A. B. Watson «The Cortex Transform: Rapid Computation of Simulated Neural Images» // CVGIP, 39 1987 pp. 311−327.

Ajeetkumar Gaddipatti, Raghu Machiraju, Roni Yagel «Steering Image Generation with Wavelet Based Perceptual Metric» // EuroGraphics-97, Volume 16, Number 3, pp. C-241 — C-251.

Ardizzone, E., La Cascia, M., and Molinelli, D., Motion and Color Based Video Indexing and Retrieval, Proc. Int. Conf. on Pattern Recognition, (ICPR-96), Wien, Austria, Aug. 1996.

Ardizzone, E., La Cascia, M., Vito di Gesu, and Valenti, C., Content Based Indexing of Image and Video Databases by Global and Shape Features, 1996.

Baigarova, N. S. and Bukhshtab, Yu. A., Some Principles of Organization for Searching through Video Data, Programming and Computer Software, Vol. 25, Nu. 3, 1999, pp. 165−170

Baron, J. L., Fleet, D. J., and Beauchemin, S. S., Performances of optical flow techniques. 1994.

Carson, C. and Ogle, V.E., Storage and Retrieval of Feature Data for a Very Large Online Image Collection. 1996.

Carson, C., Belongie, S., Greenspan, H., and Malik, J., Colorand Texture-Based Image Segmentation Using EM and Its application to Image Querying and Classification. 1997.

Charles Jacobs, Adam Finkelstein, David Salesin «Fast Multiresolution Image Quering» // SIGGRAPH-95 Proceedings, pp 277−286.

Chrictel, M., Stevens, S., Kanade, T., Mauldin, M., Reddy, R., and Wactlar, H., Techniques for the Creation and Exploration of Digital Video Libraries, Multimedia Tools and Applications, Boston: Kluwer, 1996, vol. 2.

David Travis «Effective Color Displays. Theory and practice» // pp.89−100; Academic Press 1991 ISBN 0−12−697 690−2.

E. Kopylov, A. Khodulev, V. Volevich «The comparison of Illumination Maps Techniques in Computer Graphics Software» // 8-я международная конференция по компьютерной графике и визуализации Графи

Кон-98 (Труды конференции) ISBN 5−89 209−294−1-ВМК МГУ 1998 стр. 146−153

G.C. Higgins «Image Quality Criteria» // Journal of Applied Photographic Engeneering. 1977 3(2), pp. 53−60

Horn, B.K.P. and B.G.Schunk, Determining optical flow, Artificial intelligence, 17,1981.

J.L. Mannos, D.J. Sakrison «The Effects of Visual Fidelity Criterion on the Encoding of Images» // IEEE Transactions on Information Theory IT-20(4) 1974, pp. 525−536.

Jain, R. and Gupta, A., Visual Information Retrieval, Communications of the ACM, 1997, vol. 40, no. 5.

Jain, R. and Gupta, A., Computer Vision and Visual Information Retrieval, 1996

Jain, R., Pentland, A.P., Petkovic, D., Workshop Report: NSF — ASPA Workshop on Visual Information Management Systems, 1995.

Laszlo Neumann, Kresimir Matkovic, Werner Purgathofer «Perception Based Color Image Difference» // EuroGraphics'98 Vol. 17(98) #3 pp.233−241.

Looney, C.G. ," Pattern Recognition Using Neural Networks. Theory and Algorithms for Engineers and Scientists". Oxford University Press, 1997.

Mahesh Ramasubramanian, Sumanta Pattanaik, Donald Greenberg «A Perceptually Based Physical Error Metric for Realistic Image Sythesis» // SIGGRAPH-99 Proceedings.

Rowley, H.A., Baluja, S., and Kanade, T., Neural Network-Based Face Detection, IEEE Transactions on Pattern Analysis and Machine Intelligence, 1998.

Shapiro, Stockmann «ComputerVision» // Aug. 99, Chapter 8

Smith, J.R. and Shih-Fu Chang. Automated Binary Texture Feature Sets for Image Retrieval. 1996.

Smith, J.R. and Shih-Fu Chang. VisualSEEk: a fully automated content-based image query system.

Smith, J.R. and Shih-Fu Chang. Tools and Techniques for Color Image Retrieval. 1996.

Smith, J.R. and Shih-Fu Chang. Automated Image Retrieval Using Color and Texture. 1995.

Sobel, I., An isotropic image gradient operator. Machine Vision for Three-Dimensional Scenes, pp.376−379. Academic Press, 1990

Sung, K-K. and Poggio, T., Example-Based Learning for View-based Human Face Detection. A.I. Memo No. 1521, December 1994.

Wactlar, H.D., Kanade, T., Smith, M.A., and Stevens, S.M., Intelligent Access to Digital Video: Informedia Project, 1996.

Wei-Ying Ma, NETRA: A Toolbox for Navigating Large Image Databases. 1997.

Балакришнан С.Н., Тепли Б. Д. Классификация и оценка нескольких целей с применением способов кластерного анализа // Аэрокосмическая техника. — 1990. — № 10. — С. 24−33.

[(J ournal of Guidanse, Control, and Dynamics, 1990 No. 1, pp 121- 127, перевод В.В. Кузнецова).

Бейтс Р., Мак-Доннел М. Восстановление и реконструкция изображений. — М.: Мир, 1989. — 336 с.

Винтаев В.Н., Гамидов В. В., Исмаилов К. Х. Задача цифровой нормализации матриц фотоприемных устройств. Сообщения НПОКИ № 1. — Баку: Изд-во «ЭЛМ», 1984. — С. 38−51.

Н.С. Байгарова, Ю. А. Бухштаб Проект «Кинолетопись России»: представление и поиск видеоинформации. Труды I Всероссийской конференции «Электронные библиотеки», Санкт-Петербург, 18−22 октября 1999 г., стр. 209−215

Н.С. Байгарова, Ю. А. Бухштаб, Н. Н. Евтеева Организация электронной библиотеки видеоматериалов Препринт Института прикладной математики им. М. В. Келдыша РАН, 2000, N 5

Патрик Э. А. Основы теории распознавания образов. — М.: Советское радио, 1980. — 408 с.

Прэтт У. Цифровая обработка изображений.

М.: Мир, 1982. — Кн.

2. — 790 с.

Тихонов В.И., Кульман Н. К. Нелинейная фильтрация и квазикогерентный прием сигналов. — М.: Советское радио, 1975. — 704 с.

Показать весь текст

Список литературы

  1. A. B. Watson «The Cortex Transform: Rapid Computation of Simulated Neural Images» // CVGIP, 39 1987 pp. 311−327.
  2. Ajeetkumar Gaddipatti, Raghu Machiraju, Roni Yagel «Steering Image Generation with Wavelet Based Perceptual Metric» // EuroGraphics-97, Volume 16, Number 3, pp. C-241 — C-251.
  3. Ardizzone, E., La Cascia, M., and Molinelli, D., Motion and Color Based Video Indexing and Retrieval, Proc. Int. Conf. on Pattern Recognition, (ICPR-96), Wien, Austria, Aug. 1996.
  4. Ardizzone, E., La Cascia, M., Vito di Gesu, and Valenti, C., Content Based Indexing of Image and Video Databases by Global and Shape Features, 1996.
  5. Baigarova, N. S. and Bukhshtab, Yu. A., Some Principles of Organization for Searching through Video Data, Programming and Computer Software, Vol. 25, Nu. 3, 1999, pp. 165−170
  6. Baron, J. L., Fleet, D. J., and Beauchemin, S. S., Performances of optical flow techniques. 1994.
  7. Carson, C. and Ogle, V.E., Storage and Retrieval of Feature Data for a Very Large Online Image Collection. 1996.
  8. Carson, C., Belongie, S., Greenspan, H., and Malik, J., Color- and Texture-Based Image Segmentation Using EM and Its application to Image Querying and Classification. 1997.
  9. Charles Jacobs, Adam Finkelstein, David Salesin «Fast Multiresolution Image Quering» // SIGGRAPH-95 Proceedings, pp 277−286.
  10. Chrictel, M., Stevens, S., Kanade, T., Mauldin, M., Reddy, R., and Wactlar, H., Techniques for the Creation and Exploration of Digital Video Libraries, Multimedia Tools and Applications, Boston: Kluwer, 1996, vol. 2.
  11. David Travis «Effective Color Displays. Theory and practice» // pp.89−100; Academic Press 1991 ISBN 0−12−697 690−2.
  12. E. Kopylov, A. Khodulev, V. Volevich «The comparison of Illumination Maps Techniques in Computer Graphics Software» // 8-я международная конференция по компьютерной графике и визуализации ГрафиКон-98 (Труды конференции) ISBN 5−89 209−294−1-ВМК МГУ 1998 стр. 146−153
  13. G.C. Higgins «Image Quality Criteria» // Journal of Applied Photographic Engeneering. 1977 3(2), pp. 53−60
  14. Horn, B.K.P. and B.G.Schunk, Determining optical flow, Artificial intelligence, 17,1981.
  15. J.L. Mannos, D.J. Sakrison «The Effects of Visual Fidelity Criterion on the Encoding of Images» // IEEE Transactions on Information Theory IT-20(4) 1974, pp. 525−536.
  16. Jain, R. and Gupta, A., Visual Information Retrieval, Communications of the ACM, 1997, vol. 40, no. 5.
  17. Jain, R. and Gupta, A., Computer Vision and Visual Information Retrieval, 1996
  18. Jain, R., Pentland, A.P., Petkovic, D., Workshop Report: NSF — ASPA Workshop on Visual Information Management Systems, 1995.
  19. Laszlo Neumann, Kresimir Matkovic, Werner Purgathofer «Perception Based Color Image Difference» // EuroGraphics'98 Vol. 17(98) #3 pp.233−241.
  20. Looney, C.G. ,"Pattern Recognition Using Neural Networks. Theory and Algorithms for Engineers and Scientists". Oxford University Press, 1997.
  21. Mahesh Ramasubramanian, Sumanta Pattanaik, Donald Greenberg
  22. «A Perceptually Based Physical Error Metric for Realistic Image Sythesis» // SIGGRAPH-99 Proceedings.
  23. Rowley, H.A., Baluja, S., and Kanade, T., Neural Network-Based Face Detection, IEEE Transactions on Pattern Analysis and Machine Intelligence, 1998.
  24. Shapiro, Stockmann «ComputerVision» // Aug. 99, Chapter 8
  25. Smith, J.R. and Shih-Fu Chang. Automated Binary Texture Feature Sets for Image Retrieval. 1996.
  26. Smith, J.R. and Shih-Fu Chang. VisualSEEk: a fully automated content-based image query system.
  27. Smith, J.R. and Shih-Fu Chang. Tools and Techniques for Color Image Retrieval. 1996.
  28. Smith, J.R. and Shih-Fu Chang. Automated Image Retrieval Using Color and Texture. 1995.
  29. Sobel, I., An isotropic image gradient operator. Machine Vision for Three-Dimensional Scenes, pp.376−379. Academic Press, 1990
  30. Sung, K-K. and Poggio, T., Example-Based Learning for View-based Human Face Detection. A.I. Memo No. 1521, December 1994.
  31. Wactlar, H.D., Kanade, T., Smith, M.A., and Stevens, S.M., Intelligent Access to Digital Video: Informedia Project, 1996.
  32. Wei-Ying Ma, NETRA: A Toolbox for Navigating Large Image Databases. 1997.
  33. С.Н., Тепли Б. Д. Классификация и оценка нескольких целей с применением способов кластерного анализа // Аэрокосмическая техника. — 1990. — № 10. — С. 24−33. [(Journal of Guidanse, Control, and Dynamics, 1990 No. 1, pp 121- 127, перевод В.В. Кузнецова).
  34. Р., Мак-Доннел М. Восстановление и реконструкция изображений. — М.: Мир, 1989. — 336 с.
  35. В.Н., Гамидов В. В., Исмаилов К. Х. Задача цифровой нормализации матриц фотоприемных устройств. Сообщения НПОКИ № 1. — Баку: Изд-во «ЭЛМ», 1984. — С. 38−51.
  36. Н.С. Байгарова, Ю. А. Бухштаб Проект «Кинолетопись России»: представление и поиск видеоинформации. Труды I Всероссийской конференции «Электронные библиотеки», Санкт-Петербург, 18−22 октября 1999 г., стр. 209−215
  37. Н.С. Байгарова, Ю. А. Бухштаб, Н. Н. Евтеева Организация электронной библиотеки видеоматериалов Препринт Института прикладной математики им. М. В. Келдыша РАН, 2000, N 5
  38. Э.А. Основы теории распознавания образов. — М.: Советское радио, 1980. — 408 с.
  39. У. Цифровая обработка изображений.- М.: Мир, 1982. — Кн.2. — 790 с.
  40. В.И., Кульман Н. К. Нелинейная фильтрация и квазикогерентный прием сигналов. — М.: Советское радио, 1975. — 704 с.
Заполнить форму текущей работой
Купить готовую работу

ИЛИ