Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2012, 14:46   #1
albert03_101
 
Аватар для albert03_101
 
Регистрация: 10.07.2012
Сообщений: 3
По умолчанию обработка изображения в с++Builder

PHP код:
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponentOwner)
        : 
TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
     
unsigned  int brightnes[579][413];
    
Image1->Picture->LoadFromFile("C:\\redrose_kirmizi_gul.bmp");
     for(
int i=0iImage1->Picture->Bitmap->Widthi++)
     {
       for(
int j=0j<Image1->Picture->Bitmap->Heightj++)
       {
        
unsigned int RGB=Image1->Picture->Bitmap->Canvas->Pixels[i][j];
        
unsigned r,g,b;
       
r=GetRValue(RGB);
       
g=GetGValue(RGB);
       
b=GetBValue(RGB);
       
brightnes[i][j] = 0.2125*0.7154*0.0721*b;
       
// Series2->Add(brightnes[i][j]);
         //Series1->Add(brightnes[j][i]);
       
}
     }
     for(
int i=0i<Image1->Picture->Bitmap->Widthi++)
     {

       
int sum_brightnes;
        
Series2->Add(sum_brightnes);
       for(
int j=0j<Image1->Picture->Bitmap->Heightj++)
       {
         
sum_brightnes=sum_brightnesbrightnes[i][j];
         
       }
      }
      for(
int j=0j<Image1->Picture->Bitmap->Heightj++)
      {
        
int sum_brightnes;
        
Series1->Add(sum_brightnes);
       for(
int i=0i<Image1->Picture->Bitmap->Widthi++)
       {
         
sum_brightnes=sum_brightnesbrightnes[j][i];
       }
      }

программа по полученному изображению в формате bmp считает сумму яркостей по горизонтали и вертикали и выводит на два графика соответственно. Программа работает криво(графики выводяться не такие ) Просьба помочь с поиском ошибки.

Последний раз редактировалось albert03_101; 10.07.2012 в 14:58.
albert03_101 вне форума Ответить с цитированием
Старый 10.07.2012, 16:02   #2
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Цитата:
int sum_brightnes;
Series1->Add(sum_brightnes);
Каждый раз, когда входим в цикл, объявляем переменную, которую кладем в серию (причем без инициализации). Нужно перенести строчку
Цитата:
Series2->Add(sum_brightnes);
после окончания вложенного цикла.

Код:
for(int i=0; i<Image1->Picture->Bitmap->Width; i++)
     {

       int sum_brightnes;
        
       for(int j=0; j<Image1->Picture->Bitmap->Height; j++)
       {
         sum_brightnes+= brightnes[i][j];
         
       }
       Series2->Add(sum_brightnes);
      }
Знающий не говорит, говорящий не знает (С) Лао Цзы

Последний раз редактировалось Krok27; 10.07.2012 в 16:06.
Krok27 вне форума Ответить с цитированием
Старый 10.07.2012, 17:16   #3
albert03_101
 
Аватар для albert03_101
 
Регистрация: 10.07.2012
Сообщений: 3
По умолчанию

все разобрался работает
Изображения
Тип файла: jpg Безымянный2.jpg (211.5 Кб, 146 просмотров)

Последний раз редактировалось albert03_101; 10.07.2012 в 19:17.
albert03_101 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ Builder обработка изображения преобразование Фурье Ria Alva Помощь студентам 0 05.06.2012 20:31
обработка и преобразование изображения midiss C++ Builder 0 04.06.2012 14:52
Графические изображения в Builder Наталия 555 Общие вопросы C/C++ 2 31.03.2011 13:52
Передача изображения по сети(С++ Builder 6.0) BleStaR C++ Builder 2 02.02.2010 16:16
Обработка изображения Hollander Мультимедиа в Delphi 6 10.03.2008 14:21