Федеральное агентство по образованию РФ
Санкт-Петербургский государственный электротехнический
университет "ЛЭТИ" им. В. И. Ульянова (Ленина)
Кафедра телевидения и видеотехники
ОТЧЕТ
По Курсовой работе на тему:
«Преобразование изображения таким образом, чтобы строки располагались в порядке возрастания по средней яркости»
Выполнил ст. гр. 9105 Тенизбаев А.Б.
Проверил доц. каф. ТВ А. М. Мончак
Санкт-Петербург
2010
1.Неформальная постановка задачи.
Преобразовать изображение таким образом, чтобы строки располагались в порядке возрастания средней яркости.
2.Формальная постановка задачи:
- проверить является ли tif (в заголовке 73,73,42,0)
- вывести исходное изображение на экран дисплея, используя:
· процедуру «new», для выделения места в динамической области памяти.
· процедуру «putpixel» для по точечного вывода изображения
- рассчитать значение средней яркости каждой строки, суммируя значения яркости каждой точки в строке.
- вывести изображение таким образом, чтобы строки располагались в порядке возрастания значения средней яркости, используя сортировку методом пузырька.
3.Постановка задачи для ЭВМ:
Переменная |
Тип |
Назначение |
imagefile1 |
string |
Для хранения имени физического файла |
NumberofTag |
integer |
Количество tag |
x,y |
integer |
Координаты изображения |
Size |
word |
Размер считываемого блока |
razmer_strok |
integer |
Размер полосы изображения Tag 278 |
f |
file |
Файловая переменная |
Xpal,Ypal |
word; |
Координаты выводимой палитры |
Xmax,Ymax |
string |
Максимальное разрешение экрана |
Driv,Mode |
integer |
Установки графического режима |
z |
longint |
Переменная для записи значения яркости |
I,j |
longint |
Счетчик цикла |
col |
integer |
Яркость пикселя |
TagType |
integer |
Тип тага |
PoinTyp |
integer |
Для tag 273 тип данных |
comp |
longint |
Для tag 273 количество указателей |
PoinAdr |
longint |
Для tag 273 адрес таблицы указателей |
Wx,Wy |
longint |
Количество точек (по горизонтали/по вертикали) |
Seektiff |
longint |
Первое значение таблицы указателей |
head |
longint |
Раздел описания данного файла |
adress_ifd |
longint |
Адрес первого ifd |
IFDind |
longint |
Для перехода на нужный байт |
TiffHead |
longint absolute th |
Переменная, имеющая адрес константы tif (для определения tif ли файл) |
br |
array[1..dy,1..2] of longint |
двумерный массив, для заполнения суммарной яркости и значения строки |
5. Текст Программы:
program Kursovik;
uses Graph,Crt;
const dy=600;
dx=600;
type
Dim = array[1..dx] of byte;
DimPtr = ^Dim;
poi = array[1..dy] of DimPtr;
var
x,y,Driv,Mode,seektiff,col : integer;
Size,temp1,temp2, : word;
Wx,Wy,z : longint;
f : file;
ImageFile1 : string;
po : poi;
br : array[1..dy,1..2] of longint;
PROCEDURE HeadRead;
Const
TH : array[0..3] of byte = (73,73,42,0);
Var
NumberofTag,IFDlength, i,TagType,PoinTyp : integer;
comp,PoinAdr, head,IFDInd,BegIFD : longint;
TiffHead : longint absolute TH;
Begin
Blockread(f,head,4);
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.