1.
Instal
OpenCV 2.410 dan Visual Basic 2012
b. Muncul tampilan seperti dibawah, lalu klik
edit ....
c. Kemudian masukan file OpenCV 2.410, lalu
tambahkan ::
Contoh alamat :
1. D:\MASTER =kursor\OPENCV\INSTAL OPENCV 2.41\opencv\build\include\opencv
2. D:\MASTER =kursor\OPENCV\INSTAL OPENCV 2.41\opencv\build\include
d. Kemudian masukan Linker // input //
Additional ,,, EDIT
Masukan data Tersebut : "D:\MASTER
=KURSOR\OPENCV\ : menurut lokasi tempat Instal OpenCV anda...
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_calib3d2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_calib3d2410d.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_contrib2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_contrib2410d.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_core2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_core2410d.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_features2d2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_features2d2410d.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_flann2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_flann2410d.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_gpu2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_gpu2410d.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_highgui2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_highgui2410d.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_imgproc2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_imgproc2410d.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_legacy2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_legacy2410d.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_ml2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_ml2410d.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_nonfree2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_nonfree2410d.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_objdetect2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_objdetect2410d.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_ocl2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_ocl2410d.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_photo2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_photo2410d.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_stitching2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_stitching2410d.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_superres2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_superres2410d.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_ts2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_ts2410d.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_video2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_video2410d.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_videostab2410.lib"
"D:\MASTER
=KURSOR\OPENCV\INSTAL OPENCV
2.41\opencv\build\x86\vc10\lib\opencv_videostab2410d.lib"
e. Terakhir silahkan masukan program dibawah ,,
3.
Done
Silahkah Email : Setiawan_alik@yahoo.com
#include <iostream>
#include<opencv/cvaux.h>
#include<opencv/highgui.h>
#include<opencv/cxcore.h>
#include <sstream>
#include <string>
#include <opencv\cv.h>
#include<stdio.h>
#include<stdlib.h>
#include <Windows.h>
int H_MIN = 0;
int H_MAX = 256;
int S_MIN = 0;
int S_MAX = 256;
int V_MIN = 0;
int V_MAX = 256;
using namespace cv;
const string trackbarWindowName = "Trackbars";
void on_trackbar( int, void* )
{//This function gets called whenever a
// trackbar
position is changed
}
void createTrackbars(){
namedWindow(trackbarWindowName,0);
char TrackbarName[50];
sprintf( TrackbarName, "H_MIN", H_MIN);
sprintf( TrackbarName, "H_MAX", H_MAX);
sprintf( TrackbarName, "S_MIN", S_MIN);
sprintf( TrackbarName, "S_MAX", S_MAX);
sprintf( TrackbarName, "V_MIN", V_MIN);
createTrackbar( "H_MIN", trackbarWindowName, &H_MIN, H_MAX, on_trackbar );
createTrackbar( "H_MAX", trackbarWindowName, &H_MAX, H_MAX, on_trackbar );
createTrackbar( "S_MIN", trackbarWindowName, &S_MIN, S_MAX, on_trackbar );
createTrackbar( "S_MAX", trackbarWindowName, &S_MAX, S_MAX, on_trackbar );
createTrackbar( "V_MIN", trackbarWindowName, &V_MIN, V_MAX, on_trackbar );
createTrackbar( "V_MAX", trackbarWindowName, &V_MAX, V_MAX, on_trackbar );
}
int main(int argc, char* argv[])
{
// Setup serial port connection and needed variables.
HANDLE hSerial = CreateFile(L"COM2", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if (hSerial !=INVALID_HANDLE_VALUE)
{
printf("Port opened! \n");
DCB dcbSerialParams;
GetCommState(hSerial,&dcbSerialParams);
dcbSerialParams.BaudRate = CBR_9600;
dcbSerialParams.ByteSize = 8;
dcbSerialParams.Parity = NOPARITY;
dcbSerialParams.StopBits = ONESTOPBIT;
SetCommState(hSerial, &dcbSerialParams);
}
else
{
if (GetLastError() == ERROR_FILE_NOT_FOUND)
{
printf("Serial port doesn't exist! \n");
}
printf("Error while setting up serial port! \n");
}
char outputChars[] = "c";
DWORD btsIO;
CvSize size640x480 = cvSize(640, 480);
CvCapture* p_capWebcam;
IplImage* p_imgOriginal;
IplImage* p_imgProcessed;
IplImage* p_imgHSV;
CvMemStorage* p_strStorage;
CvSeq* p_seqCircles;
float* p_fltXYRadius;
char charCheckForEscKey;
p_capWebcam = cvCaptureFromCAM(0);
if(p_capWebcam == NULL) { // if capture was not successful . . .
printf("error: capture is NULL \n"); // error message to standard out . . .
getchar();
return(-1);
}
cvNamedWindow("Original", CV_WINDOW_AUTOSIZE); // original image from webcam
cvNamedWindow("Processed", CV_WINDOW_AUTOSIZE);
createTrackbars();
p_imgProcessed = cvCreateImage(size640x480,
IPL_DEPTH_8U, // 8-bit color depth
1); // 1 channel (grayscale), if this was a color image, use 3
p_imgHSV = cvCreateImage(size640x480, IPL_DEPTH_8U, 3);
// Variables for Arduino Control
int servoPosition = 90;
int servoOrientation = 0;
int servoPosition1=90;
int servoOrientation1=0;
// Main program loop
while(1) {
p_imgOriginal = cvQueryFrame(p_capWebcam);
if(p_imgOriginal == NULL) {
printf("error: frame is NULL \n");
getchar();
break;
}
cvCvtColor(p_imgOriginal, p_imgHSV, CV_BGR2HSV);
cvInRangeS(p_imgHSV, // function input
cvScalar(H_MIN, S_MIN, V_MIN),
cvScalar(H_MAX, S_MAX, V_MAX),
p_imgProcessed);
p_strStorage = cvCreateMemStorage(0);
cvSmooth(p_imgProcessed, // function input
p_imgProcessed, // function output
CV_GAUSSIAN,
9, // smoothing filter window width
9); // smoothing filter window height
p_seqCircles = cvHoughCircles(p_imgProcessed,p_strStorage,CV_HOUGH_GRADIENT, 2,p_imgProcessed->height / 4, 100, 50, 10, 400); if (p_seqCircles->total == 0)
{
if (servoOrientation == 0)
{
if (servoPosition >= 90)
servoOrientation = 1;
else
servoOrientation = -1;
}
if (servoOrientation == 1)
{
outputChars[0] = 'l';
WriteFile(hSerial, outputChars, strlen(outputChars), &btsIO, NULL);
// This code is identical to the one on the Arduino side
servoPosition+=1;
if (servoPosition > 180)
{
servoPosition = 180;
servoOrientation = -1;
}
}
if (p_seqCircles->total == 1)
{
p_fltXYRadius = (float*)cvGetSeqElem(p_seqCircles, 1);
printf("ball position x = %f, y = %f, r = %f \n", p_fltXYRadius[0], p_fltXYRadius[1],p_fltXYRadius[2]); // radius of circle
cvCircle(p_imgOriginal, cvPoint(cvRound(p_fltXYRadius[0]), cvRound(p_fltXYRadius[1])),3,CV_RGB(0,255,0),CV_FILLED);
cvCircle(p_imgOriginal, cvPoint(cvRound(p_fltXYRadius[0]), cvRound(p_fltXYRadius[1])), cvRound(p_fltXYRadius[2]),CV_RGB(255,0,0),3);
} // end for
cvShowImage("Original", p_imgOriginal); // original image with detectec ball overlay
cvShowImage("Processed", p_imgProcessed); // image after processing
cvReleaseMemStorage(&p_strStorage);
charCheckForEscKey = cvWaitKey(10);
if(charCheckForEscKey == 27) break;
} // end while
cvReleaseCapture(&p_capWebcam);
cvDestroyWindow("Original");
cvDestroyWindow("Processed");
CloseHandle(hSerial);
return(0);
}Link MODUL : DOnwload