Pembuatan Database Citra Training

Coding pembuatan database training : ? xml version = 1.0 encoding = utf-8 ? BasisData xmlns:xsi = http:www.w3.org2001XMLSchema-instance xmlns:xsd = http:www.w3.org2001XMLSchema Persentase 100 Persentase { Alat batas =0.5 nama = kunci_ring ..\..\sample\kunci_ring.png Alat Alat batas =0.5 nama = kunci_ring_90 ..\..\sample\kunci_ring_90.png Alat Alat batas =0.5 nama = kunci_ring_180 ..\..\sample\kunci_ring_180.png Alat Alat batas =0.5 nama = kunci_ring_270 ..\..\sample\kunci_ring_270.png Alat Alat batas =0.5 nama = palu ..\..\sample\palu.png Alat Alat batas =0.5 nama = palu_90 ..\..\sample\palu_90.png Alat Alat batas =0.5 nama = palu_180 ..\..\sample\palu_180.png Alat Alat batas =0.5 nama = palu_270 ..\..\sample\palu_270.png Alat Alat batas =0.5 nama = senter ..\..\sample\senter.png Alat Alat batas =0.5 nama = senter_90 ..\..\sample\senter_90.png Alat Alat batas =0.5 nama = senter_180 ..\..\sample\senter_180.png Alat Alat batas =0.5 nama = senter_270 ..\..\sample\senter_270.png Alat Alat batas =0.5 nama = kunci_L ..\..\sample\kunci_L.png Alat Alat batas =0.5 nama = kunci_L_90 ..\..\sample\kunci_L_90.png Alat Alat batas =0.5 nama = kunci_L_180 ..\..\sample\kunci_L_180.png Alat Alat batas =0.5 nama = kunci_L_270 ..\..\sample\kunci_L_270.png Alat Alat batas =0.5 nama = kunci_inggris ..\..\sample\kunci_inggris.png Alat Alat batas =0.5 nama = kunci_inggris_90 ..\..\sample\kunci_inggris_90.png Alat Alat batas =0.5 nama = kunci_inggris_180 ..\..\sample\kunci_inggris_180.png Alat Alat batas =0.5 nama = kunci_inggris_270 ..\..\sample\kunci_inggris_270.png Alat Alat batas =0.5 nama = obeng_plus ..\..\sample\obeng_plus.png Alat Alat batas =0.5 nama = obeng_plus_90 ..\..\sample\obeng_plus_90.png Alat Alat batas =0.5 nama = obeng_plus_180 ..\..\sample\obeng_plus_180.png Alat Alat batas =0.5 nama = obeng_plus_270 ..\..\sample\obeng_plus_270.png Alat Alat batas =0.5 nama = tang ..\..\sample\tank.png Alat Alat batas =0.5 nama = tang_90 ..\..\sample\tank_90.png Alat Alat batas =0.5 nama = tang_180 ..\..\sample\tank_180.png Alat Alat batas =0.5 nama = tang_270 ..\..\sample\tank_270.png Alat Alat batas =0.5 nama = kunci_pas ..\..\sample\kunci_pas.png Alat Alat batas =0.5 nama = kunci_pas_90 ..\..\sample\kunci_pas_90.png Alat Alat batas =0.5 nama = kunci_pas_180 ..\..\sample\kunci_pas_180.png Alat Alat batas =0.5 nama = kunci_pas_270 ..\..\sample\kunci_pas_270.png Alat Alat batas =0.5 nama = kunci_soket ..\..\sample\kunci_soket.png Alat Alat batas =0.5 nama = kunci_soket_90 ..\..\sample\kunci_soket_90.png Alat Alat batas =0.5 nama = kunci_soket_180 ..\..\sample\kunci_soket_180.png Alat Alat batas =0.5 nama = kunci_soket_270 ..\..\sample\kunci_soket_270.png Alat Alat batas =0.5 nama = penggaris ..\..\sample\penggaris.png Alat Alat batas =0.5 nama = penggaris_90 ..\..\sample\penggaris_90.png Alat Alat batas =0.5 nama = penggaris_180 ..\..\sample\penggaris_180.png Alat Alat batas =0.5 nama = penggaris_270 ..\..\sample\penggaris_270.png Alat BasisData

4.2.3 Preprocessing

Proses preprocessing terdiri dari grayscale, threshold, cropping, dan resizing sebagai berikut : A. Grayscale cv:: Rect viewPort0,0 , length, length; while key = 27 { HWND hwnd = HWND cvGetWindowHandlenameWindow.c_str; key = cv::waitKey50; if hwnd == 0 || IsWindowVisiblehwnd { key = 27; break ; } vc frame; cv:: Mat bin = framecrop; cv::cvtColorbin, bin, CV_RGB2GRAY ; cv::resizebin, bin, cv:: Size length, length; cv:: Mat feed = canvasviewPort; bin.copyTofeed; switch mouse { case 67: Check key = mouse; mouse = 0; break ; } B. Threshold cv::Mat dTrain; if cfg.toApply { cv::Mat temp; if cfg.method == 0 { cv::thresholdtraining, temp, cfg.param1, 225,CV_THRESH_BINARY; } else { cv::thresholdtraining, temp, 0, 225,CV_THRESH_BINARYCV_THRESH_OTSU; } res = dct::FastDcttemp, dTrain; } else { res = dct::FastDcttraining, dTrain; } C. Cropping static void onMouse int event , int x , int y , int flag , void data { if event = CV_EVENT_LBUTTONDOWN return ; if data == 0 return ; int length = 256; int panel = 200; int margin = 10; int thickness = 23; if length+margin x || x length+panel-margin return ; if margin y || y panel-margin return ; unsigned char temp = 0; if margin = y y = thickness+margin { temp = 67; C } if temp == 0 return ; unsigned char sel; try { sel = static_cast unsigned char data ; } catch ... { return ; } sel = temp; } int TestCroppedStreaming { int idCamera = -1; cek di aplikasi camera index mulai dari 0 config cfg ..\\..\\sample\\dct.xml ; TO_DO: get cameraid idCamera = 1; cv:: VideoCapture vcidCamera; std:: string nameWindow = DCT - CS ; cv::namedWindow nameWindow, cv:: WINDOW_AUTOSIZE ; cv:: Mat frame; cv:: Rect crop0,0 ujung kiri atas , 479, 479; ukuran crop unsigned char key = 0; unsigned char mouse = 0; detection detcfg; cv::setMouseCallback nameWindow, onMouse, static_cast void mouse ; unsigned int i = 0; int length = 256; int panel = 200;