Source Code Histogram 1
-
Upload
cening-ayuu-merta -
Category
Documents
-
view
220 -
download
0
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