DIP використанням Visual C

S

spyderlove

Guest
хто може запропонувати книги, що мають цифрової обробки зображень з використанням Visual C ?

Його дуже терміново ..

 
Я не бачив книгу, яка дає Вам готові до використання C функцій для обробки зображень.Але якщо у вас є хороша книга, це легко реалізувати алгоритми DIP після прочитання пояснення.

Перевірити це приклад, який я зробив для сірих "гамма-корекція", спробувати зрозуміти його, і ви можете змінити його, щоб інші види фільтрів, просто змінити оператор, який діє протягом введення даних на ділянці між "Тут ви пишете код введення даних "і" Тут кінчається ОБРОБКИ ЗОБРАЖЕНЬ CODE ".

Код:# Включити <iostream.h>

# Включити <stdlib.h>

# Включити <fstream.h>

# Включити <math.h>вакуум основних ()(непідписані символ буфера;

Int ширина = 0, висота = 0, I = 0, у = 0, S = 0, температура;

сЬаг вхідний_файл [] = "test2.bmp"; / / Це вхідного зображення

ouputFile символ [] = "C: \ \ outdata.bmp"; / / Це вихідного зображення

поплавець J = 1,75, s1 = 0, temp1 = 0;

подвійна гама;геат вводу (вхідний_файл, IOS:: у | IOS:: бінарний);

ofstream продукції (ouputFile, IOS:: Вихід | IOS:: бінарний);суд <<"Гамма-корекція Приклад" <<епсІ;

суд <<"Введіть значення гамма =" <<епсІ;п>> гама;якщо (! вхід)суд <<"Error в імені файлу" <<епсІ;ще(суд <<"файл:" <<вхідний_файл <<епсІ;

/ / Обчислити Ширина зображення

для (я = 0; я <= 3; я )

(input.seekg (18 я, IOS:: прошу);

input.get (буфер);

ширина = (буфера <<8 * я);)

/ / Обчислити Висота зображення

для (я = 0; я <= 3; я )

(

input.seekg (22 я, IOS:: прошу);

input.get (буфер);

висота = (буфера <<8 * я);)

суд <<"Ширина зображення в пікселях =" <<ширина <<епсІ;

суд <<"Висота зображення в пікселях =" <<висота <<епсІ;якщо (гамма <1)

(

а (у <= 254)

(

у = порошку (255, гамма) * J;

J = J 0,01;))/ / Копіювання і той же заголовок і таблицю кольорів для виведення зображення

для (я = 0; я <= (54 1024 ширина * висота-1); я )

(

input.seekg (я, IOS:: прошу);

input.get (буфер); / / Тут ми зчитує дані з вхідного зображенняякщо (я> 1077)

(

////////////////////////////////////////////////// / /

/ / Тут написання коду для обробки даних INPUT

////////////////////////////////////////////////// /

якщо (гамма> = 1)

(

Темп = буфера;

S = рої (температура, гамма) / військовополонених (255, (гамма-1));

буфера = с;

output.put (буфер);

/ / Суд <<и <<епсІ;

)

ще

(temp1 = буфера;

s1 = рої (temp1, гамма) * J;

буфера = S1;

output.put (буфер); / / Тут ви копіюєте дані на виході зображення

/ / <Суд <s1 <<епсІ;

)

////////////////////////////////////////////////// / /

/ / Тут кінчається КОДА ОБРОБКИ ЗОБРАЖЕНЬ

////////////////////////////////////////////////// /)

ще

output.put (буфер); / / Тут ви копіюєте дані на виході зображення))

)
 

Welcome to EDABoard.com

Sponsor

Back
Top