Меню сайта |
|
|
Категории раздела |
|
|
Вход на сайт |
|
|
Поиск |
|
|
Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
|
| | |
|
2.7. Методы анализа, запоминания, кластеризации, воспроизведения образов
2.7. Методы анализа, запоминания, кластеризации, воспроизведения образов
Процесс распознавания образа состоит из множества этапов, среди которых имеются следующие: восприятие, анализ, синтез, запоминание, кластеризация, таксономия, воспроизведение. Данные этапы составляют основу процесса распознавания. Этап аналитического исследования заключается в разделении образа на элементы. Этап синтетического исследования заключается в способности агента сгенерировать воспринятый образ максимально приближенный к оригинальному образу по результатам восприятия и запоминания либо по результатам восприятия, запоминания и анализа. Процессы восприятия, запоминания, анализа не проходят механически. В данных процессах задействована познавательная деятельность. Составим простую программу рисующую линию.
Программа 2.7.1.1 Рисование образа и восприятие образа
Файл Program.cs
using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms;
namespace WindowsFormsApplication1 { static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } }
Файл Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;
namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void Form1_Paint(object sender, PaintEventArgs e) { Pen mypen = new Pen(Color.Black, 1); e.Graphics.DrawLine(mypen, 10, 15, 100, 120); mypen.Dispose(); } } }
Комментарии к программе:
private void Form1_Paint(object sender, PaintEventArgs e) Получаем ссылку на объект Graphics через объект PaintEventArgs при обработке события Paint формы или элемента управления.
e.Graphics.DrawLine(mypen, 10, 15, 100, 120);
Рисование линии с заданными параметрами (цвет, толщина, координаты начала и конца линии) и другими параметрами. Мы можем получить изображение любой фигуры. Нами получено изображении линии на экране монитора. Мы создали образ. Далее происходит процесс восприятия образа посредством фотосенсоров и вывод его на дисплей. Предположим, что образ уже воспринят фотосенсором и выведен на экран монитора. Этап механического восприятия агентом пройден. Далее проводится этап запоминания образа. Проведем простое механическое запоминание образа в память в виде файла без использования методов познания образа. Класс Graphics предоставляет методы для вывода объектов в устройстве отображения. Объект Graphics связан с конкретным контекстом устройства. Объект Graphics можно получить путем вызова метода Control.CreateGraphics для объекта, который наследует из объекта System.Windows.Forms.Control, или путем обработки события Control.Paint элемента управления и обращения к свойству Graphics класса System.Windows.Forms.PaintEventArgs. Можно также создать объект Graphics из изображения, используя метод FromImage. Дополнительные сведения о создании объекта Graphics см. в разделе Практическое руководство. Создание объектов Graphics для рисования. Используя объект Graphics, можно нарисовать много разных фигур и линий. Дополнительные сведения о рисовании линий и фигур см. в описании метода Draw графического элемента для линии или фигуры, которую требуется нарисовать. К этим методам относятся DrawLine, DrawArc, DrawClosedCurve, DrawPolygon и DrawRectangle. Дополнительные сведения о рисовании линий и фигур см. в разделах Рисование линий и фигур с помощью пера и Использование кисти для заливки фигур. Рисунки и значки можно также рисовать с помощью методов DrawImage и DrawIcon, соответственно. Дополнительные сведения о рисовании рисунков с помощью объекта Graphics см. в разделе Работа с растровыми и векторными изображениями.
Программа 2.7.1.2 Рисование линий, восприятие образа и запоминание образа
Файл Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms;
namespace WindowsFormsApplication13 { static class Program { /// <summary> /// Главная точка входа для приложения. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } }
Файл Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;
namespace WindowsFormsApplication13 { public partial class Form1 : Form { Bitmap bitmap; Boolean saveInd;
public Form1() { InitializeComponent(); bitmap = new Bitmap(pictureBox1.ClientRectangle.Width, pictureBox1.ClientRectangle.Height); saveInd = false; }
private void pictureBox1_Paint(object sender, PaintEventArgs e) { Graphics g = Graphics.FromImage(bitmap); Color color = Color.Black; Pen pen = new Pen(color,1); g.DrawLine(pen, 10, 10, 100, 100); g.DrawLine(pen, 10, 10, 100, 10); g.DrawLine(pen, 10, 10, 10, 100); g.DrawLine(pen, 10, 100, 100, 100); g.DrawLine(pen, 100, 100, 100, 10); g.DrawLine(pen, 10, 100, 100, 10); g.Dispose(); pen.Dispose(); pictureBox1.Image = bitmap; if (saveInd == false) { bitmap.Save("bitmap.bmp"); saveInd = true; } } } }
Комментарии к программе.
pictureBox1.Image = bitmap;
Выводит изображение образа на экран.
bitmap.Save("bitmap.bmp");
Сохраняет образ в файл. Программа выводит на экран прямоугольник и сохраняет его в файл. Произведем небольшое изменение в Файле Form1.cs в методе private void pictureBox1_Paint(object sender, PaintEventArgs e) Получим следующее. Программа 2.7.1.3 Рисование линий, восприятие образа и запоминание образа
Файл Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;
namespace WindowsFormsApplication14 { public partial class Form1 : Form { Bitmap bitmap; Boolean saveInd;
public Form1() { InitializeComponent(); bitmap = new Bitmap(pictureBox1.ClientRectangle.Width, pictureBox1.ClientRectangle.Height); saveInd = false; }
private void pictureBox1_Paint(object sender, PaintEventArgs e) { Graphics g = Graphics.FromImage(bitmap); Color color = Color.Black; Pen pen = new Pen(color, 1); g.DrawLine(pen, 10, 10, 100, 100); g.DrawLine(pen, 10, 100, 100, 10); g.DrawLine(pen, 10, 10, 100, 10); g.DrawLine(pen, 10, 10, 10, 100); g.DrawLine(pen, 100, 100, 100, 10); g.DrawLine(pen, 10, 100, 100, 100); g.Dispose(); pen.Dispose(); //pictureBox1.Image = bitmap; if (saveInd == false) { bitmap.Save("bitmap.bmp"); saveInd = true; } } } }
В данной программе 2.7.1.3 создаваемый образ не выводится на экран. Образ создается и сохраняется в файл. Это происходит потому, что мы закомментировали строку //pictureBox1.Image = bitmap;
Программа Программа 2.7.1.4 Создание образа, восприятие образа, запоминание образа, воспроизведение и изменение образа. Файл Form1.cs
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;
namespace WindowsFormsApplication15 { public partial class Form1 : Form { Bitmap bitmap; Bitmap bitmapOpen;
public Form1() { InitializeComponent(); bitmap = new Bitmap(pictureBox1.ClientRectangle.Width, pictureBox1.ClientRectangle.Height); }
private void button1_Click(object sender, EventArgs e) { Graphics g = Graphics.FromImage(bitmap); Color color = Color.Black; Pen pen = new Pen(color, 1); g.DrawLine(pen, 10, 10, 200, 100); g.DrawLine(pen, 10, 10, 200, 10); g.DrawLine(pen, 10, 10, 10, 100); g.DrawLine(pen, 10, 100, 200, 100); g.DrawLine(pen, 200, 100, 200, 10); g.DrawLine(pen, 10, 100, 200, 10); g.Dispose(); pen.Dispose(); pictureBox1.Image = bitmap; bitmap.Save("bitmap.bmp"); }
private void button2_Click(object sender, EventArgs e) { bitmapOpen = new Bitmap("bitmap.bmp"); bitmapOpen.RotateFlip(RotateFlipType.Rotate90FlipNone); pictureBox2.Image = bitmapOpen; } } }
В данной программе добавлен метод private void button2_Click(object sender, EventArgs e) в котором производится создание образа из предварительно сохраненного файла, поворот образа на 90 градусов и воспроизведение измененного образа на экран. bitmapOpen = new Bitmap("bitmap.bmp"); Создание нового объекта Bitmap из файла. bitmapOpen.RotateFlip(RotateFlipType.Rotate90FlipNone); Поворот объекта Bitmap на 90 градусов. pictureBox2.Image = bitmapOpen; Вывод объекта Bitmap на экран. Мы создали образ. Агент провел процесс восприятия образа, процесс запоминания образа, процесс воспроизведения образа из памяти. Данные процессы производились агентом механически без использования методов познания. Агент проводил запоминание образа в файл, название которого было заранее задано нами, в каталог в место хранения файла, заранее заданный нами. Воспроизведение образа было произведено из файла, который был заранее нами задан, из места нахождения файла, которое нами было задано заранее. Таким образом сам агент не принимал участие при запоминании и воспроизведении образа в выборе названия файла, места размещения файла. Агент не принимал участие в выборе файла и места расположения файла при воспроизведении образа. В процессе кластеризации агент самостоятельно воспринимает образ, принимает решение о целесообразности запоминания образа. Агент самостоятельно принимает решение о выборе места хранения образа и названии файла образа. Агент самостоятельно принимает решение о целесообразности воспроизведения образа, о выборе места нахождения образа, о выборе названия файла образа. Тип данных при сохранении образа определяется агентом. Место хранения информации об образе определяется агентом на основании кластеризации или классификации образа в базе знаний. Перед выбором места хранения информации об образе необходимо провести кластеризацию или классификацию образа. Необходимо создать структуру базы знаний. По результатам кластеризации информация об образе помещается в память в элемент базы знаний. Необходимо создать механизмы, обеспечивающие классификацию и кластеризацию образов для проведения кластеризации образов. Также важно создать структуру и механизмы формирования базы знаний. В процессе кластеризации и классификации агентом используются методы познания.
Если вам интересен наш проект, мы будем очень благодарны за оказанную вами материальную
помощь проекту по следующим реквизитам:
Webmoney wmr R110508895614 wmz z365287731326
Яндексденьги 41001774714369
|
Категория: Мои статьи | Добавил: yurijdnd (26.02.2014)
|
Просмотров: 321
| Рейтинг: 0.0/0 |
| |
| | |
|