14761

Увеличение и уменьшение цифровых изображений

Лабораторная работа

Информатика, кибернетика и программирование

Цель работы: Изучить методы увеличения и уменьшения цифровых изображений и применить полученные знания на практике. Задание для второго варианта: написать программу способную производить увеличение/уменьшение исходного изображения в нецелое число раз методом билин...

Русский

2013-06-09

263.36 KB

8 чел.

Цель работы: Изучить методы увеличения и уменьшения цифровых изображений и применить полученные знания на практике.

Задание для второго варианта: написать программу способную производить увеличение/уменьшение исходного изображения в нецелое число раз методом билинейной интерполяции. С помощью программы уменьшить исходное изображение в 1,2; 3; 7; 21 раз. Полученные изображения затем восстановить до исходного размера и сравнить результаты с исходным изображением.

Код программы: 

using System;

using System.Drawing;

using System.Drawing.Drawing2D;

using System.Windows.Forms;

namespace ZOS_LAB1_UNIVER

{

   public partial class Form1 : Form

   {

       public double koef = 1;

       public int w1, h1,w_temp,h_temp;

       public Form1()

       {

           InitializeComponent();

       }

       private void button1_Click(object sender, EventArgs e)

       {

           openFileDialog1.Filter = "BMP Picture |*.bmp";

           openFileDialog1.ShowDialog();

           pictureBox1.Hide();

           pictureBox2.Hide();

           

           pictureBox1.Paint += new PaintEventHandler(this.pictureBox1_Paint);

           pictureBox1.Refresh();

           Image img2 = new Bitmap(openFileDialog1.FileName);

           pictureBox2.Image = img2;

           

           w_temp = img2.Width;

           h_temp = img2.Height;

       }

       private void pictureBox1_Paint(object sender, PaintEventArgs e)

       {

           Image img = new Bitmap(openFileDialog1.FileName);

           int width = img.Width;

           int height = img.Height;

           

           

           e.Graphics.InterpolationMode = InterpolationMode.Bilinear;

           e.Graphics.DrawImage(img, new Rectangle(0, 0, w1, h1), 0, 0, width, height, GraphicsUnit.Pixel);

           

       }

       private void Form1_Load(object sender, EventArgs e)

       {

       }

       private void button2_Click(object sender, EventArgs e)

       {

           pictureBox2.Show();

           pictureBox1.Hide();  

          

       }

       private void button3_Click(object sender, EventArgs e)

       {

           pictureBox1.Show();

           pictureBox2.Hide();

          

       }

#region koef

       private void button4_Click(object sender, EventArgs e)

       {

           koef = 1.2;

           w1 = w_temp * Convert.ToInt16(koef);

           h1 = h_temp * Convert.ToInt16(koef);

       }

       private void button5_Click(object sender, EventArgs e)

       {

           koef = 3;

           w1 = w_temp * Convert.ToInt16(koef);

           h1 = h_temp * Convert.ToInt16(koef);

          

       }

       private void button6_Click(object sender, EventArgs e)

       {

           koef = 7;

           w1 = w_temp * Convert.ToInt16(koef);

           h1 = h_temp * Convert.ToInt16(koef);

           

       }

       private void button7_Click(object sender, EventArgs e)

       {

           koef = 21;

           w1 = w_temp * Convert.ToInt16(koef);

           h1 = h_temp * Convert.ToInt16(koef);

         

       }

       private void button8_Click(object sender, EventArgs e)

       {

           koef = 1.2;

           w1 = w_temp / Convert.ToInt16(koef);

           h1 = h_temp / Convert.ToInt16(koef);

       }

       private void button9_Click(object sender, EventArgs e)

       {

           koef = 3;

           w1 = w_temp / Convert.ToInt16(koef);

           h1 = h_temp / Convert.ToInt16(koef);

       }

       private void button10_Click(object sender, EventArgs e)

       {

           koef = 7;

           w1 = w_temp / Convert.ToInt16(koef);

           h1 = h_temp / Convert.ToInt16(koef);

       }

       private void button11_Click(object sender, EventArgs e)

       {

           koef = 21;

           w1 = w_temp / Convert.ToInt16(koef);

           h1 = h_temp / Convert.ToInt16(koef);

       }

#endregion

     }

}

Скриншоты работы:

Увеличение:


Уменьшение:

Вывод: в ходе работы изучили методы увеличения и уменьшения цветных изображений.


 

А также другие работы, которые могут Вас заинтересовать

32541. РАЗРАБОТКА СИСТЕМЫ КОНТРОЛЯ ЗНАНИЙ 130 KB
  Основная функция обратной связи идущей от учащегося к обучаемому раскрыть как осуществляется учебная деятельность с тем чтобы наметить систему обучающих воздействий которые обеспечивают эффективное достижение учебных целей. Информация которая идет по каналу обратной связи от обучаемого к обучающему содержит сведения о том как учащийся решает предложенные ему учебные задачи какие трудности испытывает их причины а также какие вспомогательные обучающие воздействия обеспечивают правильное решение учебных задач. В настоящее время...
32542. КАЧЕСТВО ПРОГРАММНОГО СРЕДСТВА 68.5 KB
  Понятие качества программного средства. Этому препятствует тот факт что повышение качества ЭС по одному из таких свойств часто может быть достигнуто лишь ценой изменения стоимости сроков завершения разработки и снижения качества этого ЭС по другим его свойствам. Поэтому при описании качества ЭС прежде всего должны быть фиксированы критерии отбора требуемых свойств ЭС. В настоящее время критериями качества программных средств criteri of softwre qulity принято считать: Функциональность  это способность ЭС выполнять набор...
32543. ОЦЕНКА УЧЕБНЫХ ПРОГРАММ 79.5 KB
  При оценивании следует помнить что не всякая оценка в равной мере применима ко всем программам необходимо учитывать тему цель и тип программы. Один из пунктов предназначен для краткого описания программы причем не столько ее содержания сколько других факторов которые могут вызвать интерес учителя предмет ступень обучения класс необходимое аппаратное обеспечение количество программ цена и т. Прогон программы запуск ввод данных управление. гарантируется ли работа при неправильном нажатии клавиш Точно ли указывается опасность...
32544. ИНДИВИДУАЛИЗАЦИЯ ОБУЧЕНИЯ. ОБЩИЕ ТРЕБОВАНИЯ К ОБУЧАЮЩЕЙ ПРОГРАММЕ. ЗАЩИТА ПРОГРАММНЫХ ПРОДУКТОВ 148.5 KB
  При запуске продукта проверяется наличие на ключевом носителе дискете или CDROM определенной информации записанной в защищенной от копирования области. Затраты обусловленные отсутствием защиты: недополученный доход изза несанкционированного распространения и использования продукта = Затраты обусловленные реализацией защиты: прямые затраты на реализацию или приобретение и интеграцию в продукт соответствующих средств; ограничения на программнотехническую совместимость накладываемые средствами защиты; снижение привлекательности...
32545. РЕКОМЕНДАЦИИ ПО ВНЕДРЕНИЮ ЭС В ОБРАЗОВАТЕЛЬНЫЙ ПРОЦЕСС 59 KB
  РЕКОМЕНДАЦИИ Об эффективности обучающей программы можно судить только после ее апробации. Все это выясняется в процессе апробации программы. Только так Вы сможете отчетливо увидеть достоинства и недостатки составленной Вами программы. Не пренебрегайте экспериментальной проверкой программы.
32546. УРОВНИ ПРИМЕНЕНИЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ В УЧЕБНОМ ПРОЦЕССЕ 135.5 KB
  КСО на данном уровне обеспечивают поддержку учебного процесса наравне с прочими некомпьютерными учебнометодическими средствами. КСО используются в пассивном качестве т. Она обусловлена тем что по сравнению с традиционными учебнометодическими средствами КСО обеспечивают новые возможности а многие существующие функции реализуются с более высоким качеством. Назовем основные преимущества КСО: создание условий для самостоятельной проработки учебного материала самообразования позволяющих обучаемому выбирать удобные для него место и...
32547. КЛАССИФИКАЦИЯ КОМПЬЮТЕРНЫХ СРЕДСТВ ОБУЧЕНИЯ. ОСНОВНЫЕ ТИПЫ ПРОГРАММ ПРИМЕНЯЕМЫХ В ОБРАЗОВАНИИ 1.04 MB
  КЛАССИФИКАЦИЯ КОМПЬЮТЕРНЫХ СРЕДСТВ ОБУЧЕНИЯ Для эффективной разработки и использования КУ и КОС нужно знать возможности и характеристики этих видов КСО. Начнем знакомство с ними с определения их места в классе КСО. Вопервых на практике разные виды КСО часто применяются в комплексе что требует знания возможностей их взаимодействия и совместного использования. Вовторых многие методические и технологические аспекты создания КУ и КОС являются общими для всего класса КСО Между различными видами КСО лежат нечеткие границы.
32548. ТИПЫ ОБУЧАЮЩИХ ПРОГРАММ С ПЕДАГОГИЧЕСКОЙ ТОЧКИ ЗРЕНИЯ. В КАКИХ СЛУЧАЯХ ЦЕЛЕСООБРАЗНО ИСПОЛЬЗОВАТЬ КОМПЬЮТЕР 54.5 KB
  Разработка и использование ЭС образовательного назначения ТИПЫ ОБУЧАЮЩИХ ПРОГРАММ С ПЕДАГОГИЧЕСКОЙ ТОЧКИ ЗРЕНИЯ. ТИПЫ ОБУЧАЮЩИХ ПРОГРАММ с педагогической точки зрения В настоящее время в учебном процессе используется большое число обучающих программ весьма отличающихся по различным параметрам. Но когда речь идет о рекомендациях по разработке обучающих программ необходимо прежде всего уточнить какие именно программы имеются в виду. Ведь различие между интеллектуальными обучающими программами и программами на отработку умений и навыков...
32549. ОБЩАЯ ХАРАКТЕРИСТИКА ПРОЕКТИРОВАНИЯ ОБУЧЕНИЯ. УРОВНИ ПРОЕКТИРОВАНИЯ ОБУЧАЮЩИХ ПРОГРАММ 48 KB
  Разработка и использование ЭС образовательного назначения ОБЩАЯ ХАРАКТЕРИСТИКА ПРОЕКТИРОВАНИЯ ОБУЧЕНИЯ. ОБЩАЯ ХАРАКТЕРИСТИКА ПРОЕКТИРОВАНИЯ ОБУЧЕНИЯ В настоящее время наметилось два подхода к проектированию обучающих программ. В принципе можно создать несколько эффективных обучающих программ и без психологической теории обучения и технологии компьютерного обучения например путем проб и ошибок. Проектирование обучающих программ должно базироваться на надежном психологическом фундаменте причем прежде всего необходимо проектировать...