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

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

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

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

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

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

проблема в загрузке изображения формата BMP в программе
Код:

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

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   unsigned    int brightnes[579][413];//массив значений яркости
       OpenPictureDialog1->Execute();
       Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);//загрузка файла по адресу...
        Edit1->Text=OpenPictureDialog1->FileName;
       Image1->Width=Image1->Picture->Width;
       Image1->Height=Image1->Picture->Height;
       Image1->Show();//показываем изображение
       //попиксельное чтение
       for(int i=0; i<Image1->Picture->Bitmap->Width; i++)
       {
         for(int j=0; j<Image1->Picture->Bitmap->Height; j++)
         {
         //получение пикселя
          unsigned   int RGB=Image1->Picture->Bitmap->Canvas->Pixels[i][j];
          unsigned r,g,b;
          //получение цвета пикселя в формате RGB
          r=GetRValue(RGB);
          g=GetGValue(RGB);
          b=GetBValue(RGB);
          //Вычисление яркости
          brightnes[i][j] = 0.2125*r + 0.7154*g + 0.0721*b;
          }
        }
        //суммируем значения яркости в строке
        for(int i=0; i<Image1->Picture->Bitmap->Width; i++)
        {
         int sum_brightnes=0;
         for(int j=0; j<Image1->Picture->Bitmap->Height; j++)
         {
           sum_brightnes=sum_brightnes+ brightnes[i][j];
         }
           Series1->Add(sum_brightnes);//выводим на график
           Chart1->Show();// показываем
        }
        // суммируем значения яркости в столбце
        for(int j=0; j<Image1->Picture->Bitmap->Height; j++)
        {
          int sum_brightnes=0;

          for(int i=0; i<Image1->Picture->Bitmap->Width; i++)
          {
            sum_brightnes=sum_brightnes+ brightnes[i][j];
          }
          Series2->Add(sum_brightnes);//выводим график
          Chart2->Show();//показываем
        }
     }        

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
 Edit1->Text="";
 Image1->Hide();
 Series1->Clear();
 Series2->Clear();
 Chart1->Hide();
 Chart2->Hide();
}
Программа почему-то загружает изображения размером <=579на 413 пикселей.
Проблема в том что прога не загружает изображение с размерами больше 579на413
Увеличение размера массива не помогает(
вылезает такая вот ошибка:
Project C:\brightnes\Project2.exe faulted with message:'access violation at
0x76225e67: write of address 0x00090fa0'. Process Stopped.
Если кто знает как это исправить просьба отписатся))

Последний раз редактировалось albert03_101; 15.07.2012 в 11:20.
albert03_101 вне форума Ответить с цитированием
Старый 15.07.2012, 00:52   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

А поиском воспользоваться не пробовали?
Хрен-ли велосипед изобретать, Достали...
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 15.07.2012, 09:02   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Что-то я совсем не пойму в чем проблема...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обработка изображения в с++Builder albert03_101 Помощь студентам 2 10.07.2012 17:16
C++ Builder обработка изображения преобразование Фурье Ria Alva Помощь студентам 0 05.06.2012 20:31
Графические изображения в 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