Поворот изображения вокруг центра - Программирование, компьютеры и кибернетика курсовая работа

Поворот изображения вокруг центра - Программирование, компьютеры и кибернетика курсовая работа



































Описание алгоритма поворота изображения. Вычисление синуса и косинуса угла поворота изображения. Алгоритм и реализация функции поворота изображения вокруг центра на заданный пользователем угол. Проверка на соответствие диапазону допустимых значений.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

1. ОПИСАНИЕ АЛГОРИТМА ПОВОРОТА ИЗОБРАЖЕНИЯ
2. РАЗРАБОТКА ПРИЛОЖЕНИЯ НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ C#
В рамках изучения дисциплины «Получение и обработка изображений» в качестве контрольной работы поставлена задача описать алгоритм и реализовать функцию поворота изображения вокруг центра на заданный пользователем угол. Косинус и синус угла вычислять единожды. Все исходные параметры задавать произвольно, осуществлять проверку на соответствие диапазону допустимых значений.
1 Старовойтов В.В. Цифровые изображения: от получения до
обработки / В.В. Старовойтов, Ю.И. Голуб - Минск: ОИПИ НАН Беларуси, 2014. - 202 с. - ISBN 978-985-6744-80-1.
2 Кристиан Нейгел, Билл Ивьен и др. C# 2008 и платформа .NET 3.5 для профессионалов - Professional C# 2008. -- М.: Диалектика, 2008. -- ISBN 978-5-8459-1458-3.
3 Разработка приложений на платформе Microsoft. MSDN [Электронный ресурс]: http://msdn.microsoft.com/ru-ru/library/4f9s3at1(v=vs.110).aspx . - Дата обращения 25.10.2014.
public partial class frmRotationForm : Form
w.Text = pictureBox3.Image.Width.ToString();
h.Text = pictureBox3.Image.Height.ToString();
jj = Convert.ToInt32(textBox1.Text);
private void btnRotateImage_Click(object sender, EventArgs e)
pictureBox1.Image = pictureBox3.Image;
ang = Convert.ToInt32(textBox1.Text);
MessageBox.Show("Разрешено использовать углы от 0 до 360. \nДопустается использование знака \'-\' для поворота против часовой стрелки.");
MessageBox.Show("Разрешено использовать углы от 0 до 360. \nДопустается использование знака \'-\' для поворота против часовой стрелки.");
Bitmap i = new Bitmap(pictureBox1.Image);
pictureBox1.Image = this.RotateImage(i, ang);
private Bitmap RotateImage(Bitmap Image, int angle)
var theta = angle * Math.PI / 180.0;//перевод в радианы
if (locked_theta < 0.0) locked_theta += 2 * Math.PI;
double adjacentBottom, oppositeBottom;
#region Вычисление новой ширины и высоты
double SINUS = Math.Abs(Math.Sin(locked_theta));
double COSINUS = Math.Abs(Math.Cos(locked_theta));
if ((locked_theta >= 0.0 && locked_theta < pi2) || (locked_theta >= Math.PI && locked_theta < (Math.PI + pi2)))
{// Угол (>= 0 и < Pi/2) или (>= ПИ и < ПИ + Пи/2)
adjacentBottom = COSINUS * oldHeigth;
oppositeBottom = SINUS * oldHeigth;
oppositeBottom = COSINUS * oldWidth;
newWidth = adjacentTop + oppositeBottom;
newHeigth = adjacentBottom + oppositeTop;
nWidth = (int)(Math.Ceiling(newWidth));//округление до целых вверх
nHeigth = (int)(Math.Ceiling(newHeigth));
#endregion Вычисление новой ширины и высоты
Bitmap rotatedBmp = new Bitmap(nWidth,nHeigth);
Graphics g = Graphics.FromImage(rotatedBmp);
Point [] points = new Point [3];//массив из 3 структур типа Point, которые определяют параллелограмм
//Три точки обозначают: верхний левый, верхний правый, нижний левый углы параллелограмма.
//Четвёртая точка экстраполируется из первых трёх
//точка отсчёта (0,0) - левый верхний угол
if (locked_theta >= 0.0 && locked_theta < pi2) //90
points[0] = new Point((int)oppositeBottom, 0);
points[1] = new Point(nWidth, (int)(oppositeTop));
points[2] = new Point(0, (int)(adjacentBottom));
else if (locked_theta >= pi2 && locked_theta < Math.PI) //90-180
points[0] = new Point(nWidth, (int)(oppositeTop));
points[1] = new Point((int)(adjacentTop), nHeigth);
points[2] = new Point((int)(oppositeBottom), 0);
else if (locked_theta >= Math.PI && locked_theta < (Math.PI + pi2))//180-270
points[0] = new Point((int)(adjacentTop), nHeigth);
points[1] = new Point(0, (int)(adjacentBottom));
points[2] = new Point(nWidth, (int)(oppositeTop));
points[0] = new Point(0, (int)(adjacentBottom));
points[1] = new Point((int)(oppositeBottom), 0);
points[2] = new Point((int)(adjacentTop), nHeigth);
label6.Text = "Центр ИСХОДНЫЙ х="+ (oldWidth / 2.0f).ToString() + ", у=" + (oldHeigth / 2.0f).ToString();
label7.Text = "Центр ПОВЕРНУТЫЙ х=" + (nWidth / 2.0f).ToString() + ", у=" + (nHeigth / 2.0f).ToString();
g.DrawRectangle(new Pen(Color.Red, 0.1f),new Rectangle(0,0,nWidth/2,nHeigth/2));
g.DrawRectangle(new Pen(Color.Red, 0.1f), new Rectangle(nWidth/2, nHeigth/2, nWidth/2-1, nHeigth/2-1));
private void btnLoadImage_Click(object sender, EventArgs e)
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "jpg files (*.jpg)|*.jpg|All files (*.*)|*.*";
if (dlg.ShowDialog() == DialogResult.OK)
pictureBox3.Image = new Bitmap(dlg.OpenFile());
pictureBox1.Image = pictureBox3.Image;
w.Text = pictureBox1.Image.Width.ToString();
h.Text = pictureBox1.Image.Height.ToString();
private void timer1_Tick(object sender, EventArgs e)
{//изменение режима пкчербокса на ЗУМ
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
//если не отмечено, то изображение центрируется
pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;
{//реализация "анимации"-вращения картинки вокруг своей оси по/против часовой
this.btnRotateImage_Click(this, e);
this.textBox1.Text = jj++.ToString();
this.btnRotateImage_Click(this, e);
this.textBox1.Text = jj--.ToString();
Фильтрация шумов изображения. Алгоритмы его бинаризации и поворота. Формирование информативных признаков для распознавания нот. Схема программного обеспечения. Описание классов, функций, методов, реализованных в программе. Тестирование приложения. курсовая работа [2,0 M], добавлен 17.12.2013
Получение вейвлетов Габора из представления путем его поворота и растяжения для известного числа масштабов и ориентаций. Описание процедуры pullback. Детектор края, реализация алгоритма. Генерация представления изображения с помощью вейвлетов Габора. курсовая работа [1021,4 K], добавлен 29.10.2017
Информация о графических форматах. Хранение изображения в программе. Очередь как вспомогательная структура данных. Загрузка изображения из двоичного файла. Операции с изображением. Уменьшение разрешающей способности. Увеличение размера изображения. курсовая работа [1,1 M], добавлен 29.06.2013
Разработка программы, предназначенной для сжатия или компрессии полутонового изображения международным стандартом JPEG. Описание метода JPEG, выдача результатов в виде декодированного изображения. Обзор методов компрессии полутонового изображения. курсовая работа [43,5 K], добавлен 14.10.2012
Общий алгоритм сравнения двух изображений. Метод максимальных площадей. Метод гистограмм. Подготовка изображения к распознаванию. Моделирование многомерной функции. Распределение векторов. Деформируемые модели. Реализация программного обеспечения. дипломная работа [384,2 K], добавлен 29.09.2008
Описание этапов создания анимированного GIF изображения мультипликационного героя "Винни-Пуха" в программе Adobe Photoshop CS6. Создание дубликата слоя изображения и подготовка кадров для GIF анимации. Настройка эффектов анимации и результат GIF-файла. лабораторная работа [1,2 M], добавлен 05.03.2015
Разработка приложения, целью которого ставится преобразование черно-белых полутоновых изображений в цветные. Обзор методики обработки изображения, способов преобразования изображения с помощью нейронной сети. Описания кластеризации цветового пространства. дипломная работа [6,3 M], добавлен 17.06.2012
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Поворот изображения вокруг центра курсовая работа. Программирование, компьютеры и кибернетика.
Доклад: Заключение договоров
Курсовая работа по теме Управление природопользованием в России
Курсовая работа по теме План счетов бухгалтерского учета коммерческих банков
Курсовая работа: Ассортиментная политика предприятия. Скачать бесплатно и без регистрации
Реферат: Детские страхи и тревоги
Реформы Ивана 3 Реферат
Склерометр Реферат Скачать
Реферат по теме Театр, поэзия и литература в Древней Греции
Поля Реферата По Госту 2022
Курсовой Проект Проектирование Демультиплексоров
Реферат: The Early Labor Movement Essay Research Paper
Учебное пособие: Методические указания к курсовой работе по дисциплине «Объектно-ориентированное программирование» по направлению 230200 Информационные системы
Совершенствование Деятельности Диссертация
Реферат по теме Варган и бубен: два коня шамана
Реферат по теме Роль библиографии в современном мире
Сочинение: Какие мысли и чувства пробудил во мне роман Достоевского “Преступление и наказание”
Реферат Сестринский Процесс 4 И 5 Этапы
Курсовая работа по теме Аппаратные средства вычислительной техники
Контрольная Работа 5 Класс Технология Девочки
Дипломная работа по теме Обоснование технологии борьбы с асфальтосмолопарафиновымы отложениями на Кравцовском нефтяном месторождении
Заочна форма навчання у вищих закладах освіти Міністерства внутрішніх справ України - Педагогика доклад
Влияние фтора и фторосодержащих соединений на здоровье населения - Биология и естествознание реферат
Преступления, совершаемые в сфере оборота наркотических средств и психотропных веществ - Государство и право курсовая работа


Report Page