Source Code Histogram 1

download Source Code Histogram 1

of 4

Transcript of Source Code Histogram 1

  • 8/11/2019 Source Code Histogram 1

    1/4

  • 8/11/2019 Source Code Histogram 1

    2/4

    CvPoint pt2 = cvPoint(i*1+1, 64*1);

    CvPoint pt3 = cvPoint(i*1+1,int(64-nextValue*64/histMax )*1);

    CvPoint pt4 = cvPoint(i*1,int(64-histValue*64/histMax)*1);

    // kode untuk mempersiapkan bagian window (kotak) histogramnya, jadi disetting ukuranwindowsnya berapa kali berapa, trus nilai2 dari histogram yang akan diisi setelah buka gambaritu disiapkan dulu tempatnya..

    int numPts = 5;

    CvPoint pts[] = {pt1, pt2, pt3, pt4, pt1};

    cvFillConvexPoly(imgHist, pts, numPts, cvScalar(255)); // diunakan untuk mengisi warna daridiagramnya nanti jadi nanti diagramnya ada fill (warna isinya) }

    return imgHist;//merupakan fungsi yang disediakan MATLAB untuk membuat histogram darigambar

    }

    int main() //fungsi utama dr sebuah kode Bahasa C yg akan memberikan nilai balik menurut typedan datanya, makany di bagian belakangnya dri beri perintah return.

    {

    IplImage* img = cvLoadImage("dante.jpg");// file gambar yang dibaca disimpan dalam satufolder dengan projectnya

    int numBins = 256;

    float range[] = {0,255};//kisaran warna dari 0-255

    float *ranges[] = {range};

  • 8/11/2019 Source Code Histogram 1

    3/4

    CvHistogram *hist = cvCreateHist(1, &numBins, CV_HIST_ARRAY, ranges, 1);

    cvClearHist(hist); // perintah untuk menggambar garis histogramnya

    IplImage* imgR = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);//source code tersebut berfungsi untuk mengconvert warna gambar normal menjadi red.

    IplImage* imgG = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);//source code tersebut berfungsi untuk mengconvert warna gambar normal menjadi green.

    IplImage* imgB = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1); //source code tersebut berfungsi untuk mengconvert warna gambar normal menjadi biru.

    //Maksud dari IPL_DEPTH_8U adalah tiap-tiap piksel bernilai 8 bit,sementara angka 1setelahnya itu bermakna tiap-tiap piksel hanya terdiri dari sebuah channel

    cvSplit(img, imgB, imgG, imgR, NULL); // memisahkan warna dari gambar (img) ke warna2yang mau dihitung imgB = Blue, imgG = Green, imgR = Red

    cvCalcHist(&imgR, hist, 0, 0);

    IplImage* imgHistRed = DrawHistogram(hist);

    cvClearHist(hist);

    cvCalcHist(&imgG, hist, 0, 0);

    IplImage* imgHistGreen = DrawHistogram(hist);

    cvClearHist(hist);

    cvCalcHist(&imgB, hist, 0, 0);

    IplImage* imgHistBlue = DrawHistogram(hist);

    cvClearHist(hist);

    // masing-masing warna dari red, green, blue mempunyai window sendiri.

  • 8/11/2019 Source Code Histogram 1

    4/4