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

     }

}

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

Увеличение:


Уменьшение:

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


 

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

13754. Наука и искусство. Универсальный гений эпохи Возрождения Леонардо да Винчи 1.38 MB
  Наука и искусство. Универсальный гений эпохи Возрождения Леонардо да Винчи. Наука и искусство – две области деятельности человечества на протяжении всего существования. Культуре в равной мере нужны и наука и искусство. Для того чтобы наука приносила людям пользу и рад
13755. Декоративно-прикладное искусство 2.81 MB
  Декоративноприкладное искусство Декоративноприкладное искусство сложное и многогранное явление культуры. Оно охватывает многие виды народных промыслов связанных с созданием художественных изделий имеющих практическое назначение в быту
13756. Красота Земли в искусстве (поэтический пейзаж) 2.23 MB
  Красота Земли в искусстве поэтический пейзаж А.С.Пушкин называл искусство магическим кристаллом сквозь грани которого поновому видны окружающие нас люди предметы явления привычной жизни. Во все времена живописцы композиторы и писатели отражают в своих...
13757. Музыка в быту 1.54 MB
  Музыка в быту Трудно представить жизнь современного человека без музыки. Она окружает его повсюду. Музыка звучит с экранов телевизоров с мониторов компьютеров. Она сопровождает праздники развлечения и т. п. У каждого наверняка есть своя фо...
13759. Импрессионизм. Клод Моне 1.06 MB
  Импрессионизм. Клод Моне. Имрессионизм зародился в 1860 годах во французской живописи. Э. Мане О. Ренуар Эдгард Дега внесли в искусство свежестьизображение мгновенныхкак бы случай ных движений и ситуацийфрагментарность композиций ракурсы срезы фигур.В 18701880го
13760. Массовые, общедоступные искусства. Фотография 760.5 KB
  Массовые общедоступные искусства. Фотография. Огромную популярность в XX в. приобрели виды искусства связанные с техническим прогрессом. Фотография кино телевидение продукция полиграфической промышленности книги журналы газеты стали символами времени.
13761. Портрет в искусстве России 123 KB
  Портрет в искусстве России. 18 век в России называют веком портрета. Портрет самое бесспорное достижение нашей национальной школы именно благодаря чему русская живопись достигла уровня европейской. В жанре портрета писали лучшие русские художники: Ф. Рок...
13762. Особенности киномузыки 609.5 KB
  Особенности киномузыки Итак фильма без музыки не существовало никогда. Даже во времена немого кино под сменяющиеся друг друга экранные картины импровизировал музыканттапёр. Одним из таких тапёров в студенческие годы был Д. Шостакович. В кино музыка не требует отдель...