Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Телевизионный алгоритм изменения контрастности

Автор:   •  Январь 5, 2019  •  Лабораторная работа  •  3,369 Слов (14 Страниц)  •  566 Просмотры

Страница 1 из 14

Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение

Высшего образования

"Ярославский государственный технический университет"

Кафедра "Информационные системы и технологии"

Отчет защищен

с оценкой ________

Преподаватель

______

«     »                     2017

ТЕЛЕВИЗИОННЫЙ АЛГОРИТМ

ИЗМЕНЕНИЯ КОНТРАСТНОСТИ

Отчет о лабораторной работе

по курсу "Технология программирования"

ЯГТУ 09.03.04-001 ЛР

Отчет выполнил

Студент гр.

______

«25» ноября 2017 г.

 2017

Задание: разработать программу на языке С# с использованием WindowsForms, реализующую телевизионный алгоритм изменения контраста. Программа должна реализовывать проход по строкам в отдельных потоках с помощью делегатов.

Используемые алгоритмы:

Для открытия изображения создается объект openFileName класса OpenFileName, который вызывает диалоговое окно выбора файла. При нажатии на кнопку «Открыть», в переменную fn записывается путь к файлу. Изображение открывается в созданных объектах main и rez класса Bitmap.

Для сохранения измененного изображения создается объект saveFileDialog класса SaveFileDialog. Вызывается диалоговое окно и при нажатии на кнопку «Сохранить», изображение сохраняется в выбранную директорию при помощи метода .Save у pictureBox’а.

Для изменения контраста создается метод суммирования яркости по строке на уровне класса. В параметрах указана ссылка на Bitmap и количество строк в изображении. Полученная сумма делится на количество строк.

На основе метода создается делегат с такими же параметрами и запускается по циклу для каждой строки методом BeginInvoke. И так же запускается цикл завершения потока EndEnvoke. Полученный результат записывается в массив и находится средняя яркость изображения.

Так же, создается метод, который вычисляет и устанавливает новую яркость изображения. В параметрах указана ссылка на Bitmap, номер строки и коэффициент яркости. По циклу находятся значения r, g, b пикселя и по телевизионному алгоритму вычисляется новая яркость каждого из значений и записывается в пиксель. Полученное изображение помещается в pictureBox.

Инструкция:

  1. Для открытия изображения нажмите кнопку «Файл» -> «Открыть». Появится диалоговое окно, в котором вы можете выбрать нужное изображение.
  2. Для изменения контраста нажмите на кнопки «+» и «-» для увеличения и уменьшения соответственно.
  3. Чтобы сохранить изображение нажмите кнопку «Файл» -> «Сохранить» и выберите директорию для сохранения.
  4. Восстановить исходное изображение можно нажав кнопку «Восстановить».
  5. Удалить изображение можно нажав кнопку «Очистить»
  6. Закрыть приложение можно нажав кнопку «Файл» -> «Выход».

[pic 1]

[pic 2]

Рисунок 1 – Результат работы приложения при увеличении контраста изображения

[pic 3]

[pic 4]

Рисунок 2 – Результат работы приложения при уменьшении контраста изображения

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

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

    public partial class Form1 : Form

    {

        string filename ="";

...

Скачать:   txt (12.4 Kb)   pdf (291.9 Kb)   docx (1.2 Mb)  
Продолжить читать еще 13 страниц(ы) »
Доступно только на Essays.club