Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Медианная фильтрация изображения, Реализация в С++ Bulder 
:(
    Опции темы
Cfyz
Дата 9.6.2008, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 9.6.2008

Репутация: нет
Всего: нет



Прошу вас помочь мне. Может исходники есть? 
PM MAIL   Вверх
orthrus
Дата 9.6.2008, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 400
Регистрация: 30.10.2007
Где: г. Усть-Илимск(Ир кутская обл.)

Репутация: 4
Всего: 16



Давно уже писал этот код но все таки нашел smile Держи, разберешься, там ничего сложного:
Код

int sort_function( const void* a, const void* b)
{
   return( strcmp( (unsigned char *)a,(unsigned char *)b) ); 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button11Click(TObject *Sender)
{
 unsigned char *pict[3], mas[11];
 float d;
 for (int i = 0; i<Image1->Picture->Height - 2; i++){
     Application->ProcessMessages();
     pict[0] = (unsigned char*) Image1->Picture->Bitmap->ScanLine[i];
     pict[1] = (unsigned char*) Image1->Picture->Bitmap->ScanLine[i+1];
     pict[2] = (unsigned char*) Image1->Picture->Bitmap->ScanLine[i+2];

     for (int j=1; j<Image1->Picture->Width - 1 ; j++){
         
         mas[0] = 0;
         mas[1] = pict[0][j*3-3];  mas[4] = pict[1][j*3-3];  mas[7] = pict[2][j*3-3];
         mas[2] = pict[0][j*3];    mas[5] = pict[1][j*3];    mas[8] = pict[2][j*3];
         mas[3] = pict[0][j*3+3];  mas[6] = pict[1][j*3+3];  mas[9] = pict[2][j*3+3];
         mas[10] = 255;
         qsort( (void *)mas, 11, sizeof(mas[0]), sort_function);
         pict[1][j*3] = (mas[4] + mas[5] + mas[6]) / 3;

         mas[0] = 0;
         mas[1] = pict[0][j*3-2];  mas[4] = pict[1][j*3-2];  mas[7] = pict[2][j*3-2];
         mas[2] = pict[0][j*3+1];  mas[5] = pict[1][j*3+1];  mas[8] = pict[2][j*3+1];
         mas[3] = pict[0][j*3+4];  mas[6] = pict[1][j*3+4];  mas[9] = pict[2][j*3+4];
         mas[10] = 255;
         qsort( (void *)mas, 11, sizeof(mas[0]), sort_function);
         pict[1][j*3+1] = (mas[4] + mas[5] + mas[6]) / 3;

         mas[0] = 0;
         mas[1] = pict[0][j*3-1];  mas[4] = pict[1][j*3-1];  mas[7] = pict[2][j*3-1];
         mas[2] = pict[0][j*3+2];  mas[5] = pict[1][j*3+2];  mas[8] = pict[2][j*3+2];
         mas[3] = pict[0][j*3+5];  mas[6] = pict[1][j*3+5];  mas[9] = pict[2][j*3+5];
         mas[10] = 255;
         qsort( (void *)mas, 11, sizeof(mas[0]), sort_function);
         pict[1][j*3+2] = (mas[4] + mas[5] + mas[6]) / 3;
     }
//     Image1->Refresh();
 }
 Image1->Refresh();
}


Это сообщение отредактировал(а) orthrus - 9.6.2008, 16:15


--------------------
У того, кто ничего не делает, всегда много помощников.© Л.Н. Толстой
user posted image
PM MAIL ICQ   Вверх
Cfyz
Дата 9.6.2008, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 9.6.2008

Репутация: нет
Всего: нет



Благодарю вас. Но возникла ошибка. Не знает он такую функцию 
[C++ Error] Unit1.cpp(286): E2451 Undefined symbol 'sort_function'

PM MAIL   Вверх
orthrus
Дата 9.6.2008, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 400
Регистрация: 30.10.2007
Где: г. Усть-Илимск(Ир кутская обл.)

Репутация: 4
Всего: 16



а ты весь код скопировал или только то что в функции Button11Click?


--------------------
У того, кто ничего не делает, всегда много помощников.© Л.Н. Толстой
user posted image
PM MAIL ICQ   Вверх
Cfyz
Дата 9.6.2008, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 9.6.2008

Репутация: нет
Всего: нет



Огромное спасибо. А можно вопрос может у вас исходники есть еще каких либо алгоритмов фильтрации. (Пороговый фильтр, Усредняющий фильтp, Инверсия). Просто курсач висит. А там необходимо удалить шумы с бинаризированных изображений.
PM MAIL   Вверх
orthrus
Дата 9.6.2008, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 400
Регистрация: 30.10.2007
Где: г. Усть-Илимск(Ир кутская обл.)

Репутация: 4
Всего: 16



Вот посмотри может чего найдешь, эта прога не полная много чего не хватает, последний вариант не сохранился smile 

Присоединённый файл ( Кол-во скачиваний: 139 )
Присоединённый файл  SCOI.rar 163,85 Kb


--------------------
У того, кто ничего не делает, всегда много помощников.© Л.Н. Толстой
user posted image
PM MAIL ICQ   Вверх
Cfyz
Дата 9.6.2008, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 9.6.2008

Репутация: нет
Всего: нет



Спасибо а что у тебя в программе ФНЧ и ФВЧ и как он работает?

Добавлено через 5 минут и 36 секунд
Все понял фильтр высоких и низких частот
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0697 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.