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

     }

}

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

Увеличение:


Уменьшение:

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


 

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

22076. МЕТОДОЛОГІЯ ТЕОРЕТИЧНОГО ДОСЛІДЖЕННЯИ 51.5 KB
  ТЕМА: МЕТОДОЛОГІЯ ТЕОРЕТИЧНОГО ДОСЛІДЖЕННЯИ План 1. Методи наукового дослідження. Особливості теоретичного дослідження 3. Характеристика методів теоретичного дослідження.
22077. МЕТОДОЛОГІЯ ЕМПІРИЧНОГО ДОСЛІДЖЕННЯ 254.5 KB
  ТЕМА: МЕТОДОЛОГІЯ ЕМПІРИЧНОГО ДОСЛІДЖЕННЯ План 1. Сутність і особливості емпіричного дослідження. Переваги експерименту перед іншими методами дослідження. Сутність і особливості емпіричного дослідження Наукове дослідження любої предметної області починається з емпіричного рівня.
22078. СОЦИАЛЬНО-ПЕДАГОГИЧЕСКАЯ ДЕЯТЕЛЬНОСТЬ С ДЕТЬМИ-ИНВАЛИДАМИ И ИХ СЕМЬЯМИ 61.5 KB
  Ребенок с нарушениями развития не вписывался в картину счастливой жизни и нередко исключался из активной общественной жизни а его отношения с обществом опосредовались через здоровых членов семьи или систему специальных закрытых учреждений и как следствие этого – изоляция больного ребенка и искусственное замалчивание проблемы детской инвалидности. Права лиц детей –инвалидов отражены в ряде документов ООН: Всеобщая декларация прав человека1948; Декларация о правах инвалидов1971; Декларация о правах умственно отсталых лиц1971;...
22079. КАТЕГОРИИ И ФУНКЦИИ СОЦИАЛЬНОЙ ПЕДАГОГИКИ 32 KB
  В связи с тем что соц. педагогика стала самостоятельной наукой относительно недавно отделившись от педагогики и объект изучения у них практически одинаков то разделение категорий относящихся к разным наукам поможет выявить специфику соц. Много категорий взято соц.
22080. ПРОФЕССИОНАЛЬНО-ЛИЧНОСТНЫЙ ПОРТРЕТ СОЦИАЛЬНОГО ПЕДАГОГА 56.5 KB
  Специализация соц. Квалификационная характеристика соц. Функции соц.
22081. МЕТОДЫ СОЦИАЛЬНОЙ ПЕДАГОГИКИ 34 KB
  Методы соц. пед можно классифицировать объединив их в три большие группы: методы исследования; методы воспитания; методы социальнопсихологической помощи. Методы научного исследования – это способы получения научной информации. ПЕДАГОГИЧЕСКИЙ ЭКСПЕРИМЕНТ является комплексным методом исследования и позволяет глубже чем другие методы проверить правильность выдвинутой гипотезы.
22082. ПРОФИЛАКТИКА НАРКОМАНИИ У ПОДРОСТКОВ 51.5 KB
  За последние пять лет по России число школьников и студентов употребляющих наркотики возросло более чем в 8 раз. Проведенный областным наркологическим диспансером и РИРО опрос учащихся школ и профессиональных училищ свидетельствует о том что более 17 их них уже пробовали наркотики: каждый четвертый юноша и каждая восьмая девушка. Около 4 подростков употребляют наркотики систематически. Исследование выявило что первая пробы наркотиков произошла в довольно молодом возрасте: в среднем – это 1517 лет однако есть много и таких которые...
22083. Педагогика творчества 94.5 KB
  Если рассмотреть процентное соотношение одаренных и неодаренных детей то мы получим график в виде колокола: 22 сверходаренные дети; 135 выше нормы; 682 детей имеют средний интеллект; 135 ниже нормы; 22 умственно – отсталые. Творческих детей отличает живое воображение включение элементов игры в выполнение задач изобретательность богатая фантазия нестандартность мышления отличная память в сочетании с ранним языковым развитием способность к классификации Барьерами тормозящими раскрытие творческого потенциала личности...
22084. СОЦИАЛЬНО-ПЕДАГОГИЧЕСКАЯ ДЕЯТЕЛЬНОСТЬ С ПОДРОСТКАМИ, СКЛОННЫМИ К ПРАВОНАРУШЕНИЯМ 38 KB
  Подростки особенно социально неблагополучные всегда тянутся к силе а объединение в группы намного ее увеличивает. Особенно велика в психологическом отношении роль тусовок мест сбора подростков где подростки группируются оформляясь в криминогенные группы. Вопервых это – руководство молодежной группировкой взрослого опытного преступника; вовторых включение подростковой группы в преступную группу взрослых преступников; втретьих подчинение криминальной подростковой группы и ее деятельности общему командованию; вчетвертых – четкое...