algorytm.org

Implementacja w C/C++



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Histogram - Implementacja w C/C++
Ocena użytkownikóww: *****  / 5
SłabyŚwietny
Nadesłany przez Tomasz Lubiński, 08 września 2005 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

Histogram_c/Unit1.cpp:
//Histogram
//(c) 2005 Tomasz Lubinski
//www.algorytm.org
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i, j;
double r[256], g[256], b[256], gray[256];
TColor color;

for (i=0; i<256; i++)
{
    r[i] = 0;
    g[i] = 0;
    b[i] = 0;
    gray[i] = 0;
}

for (i=0; i<ObrazKolor->Width; i++)
    for (j=1; j<ObrazKolor->Height; j++)
    {
        color = ObrazKolor->Canvas->Pixels[i][j];
        r[GetRValue(color)]++;
        g[GetGValue(color)]++;
        b[GetBValue(color)]++;
    }
HistogramKolor->SeriesList->Series[0]->Clear();
HistogramKolor->SeriesList->Series[1]->Clear();
HistogramKolor->SeriesList->Series[2]->Clear();
HistogramKolor->SeriesList->Series[0]->AddArray(r, 255);
HistogramKolor->SeriesList->Series[1]->AddArray(g, 255);
HistogramKolor->SeriesList->Series[2]->AddArray(b, 255);

for (i=0; i<ObrazMono->Width; i++)
    for (j=0; j<ObrazMono->Height; j++)
    {
        color = ObrazMono->Canvas->Pixels[i][j];
        gray[GetRValue(color)]++;
    }
HistogramMono->SeriesList->Series[0]->Clear();
HistogramMono->SeriesList->Series[0]->AddArray(gray, 255);
}
//---------------------------------------------------------------------------
 
Dodaj komentarz