This is default featured slide 1 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

This is default featured slide 2 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

This is default featured slide 3 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

This is default featured slide 4 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

This is default featured slide 5 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

Showing posts with label Open CV. Show all posts
Showing posts with label Open CV. Show all posts

Sunday, September 23, 2018

Traffic Light Simulator Created with Visual Basic 2012


PEMOGRAMAN TRAFFIC LIGTH DENGAN VISUAL BASIC 2012

1. Desain Tampilan Awal

2. Program VB 2012


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace CobaVisual01
{
    public partial class Form1 : Form
    {
        int A, B, C, start , start1, start2, pertama ,z=180 ,x=100 , coba ;

        public Form1()
        {
            InitializeComponent();
        }
        private void trackBar1_Scroll(object sender, EventArgs e)
        {
            A = trackBar1.Value;
            box1.Text = Convert.ToString(A);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            start = 180 - 180 * (100 - A) / 100;
            start1 = 180 - 180 * (100 - B) / 100;
            start2 = 180 - 180 * (100 - C) / 100;
            box2.Text = Convert.ToString(start);
            timer1.Start ();
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            start = start - 1;
            box2.Text = Convert.ToString (start);

            if (start == 5)
            {
                oval2.Visible = true;
                oval3.Visible = false;
            }
            if (start == 0)
            {
                oval1.Visible = true;
                oval2.Visible = false;
                timer1.Stop ();
                timer3.Start();
            }}
    //###############################################################################//

        private void trackBar2_Scroll(object sender, EventArgs e)
        {
            B = trackBar2.Value;
            box3.Text = Convert.ToString(B);
         }
        private void timer2_Tick(object sender, EventArgs e)
        {
            start1 = 180 - 180 * (100 - B) / 100;
            box4.Text = Convert.ToString(start1);
            timer3.Start(); 
        }
        private void timer3_Tick(object sender, EventArgs e)
        {
             start1 = start1-1;
             box4.Text = Convert.ToString(start1);
             oval6.Visible = true;
             oval4.Visible = false;
             if (start1 <= 5)
             {
                 oval6.Visible = false;
                 oval5 .Visible = true;
             }
             if (start1 == 0)
             {
                 oval6.Visible = false;
                 oval4 .Visible = true;
                 oval5 .Visible = false;
                 timer3 .Stop();
                 timer5 .Start();
             } }

//###############################################################################//
        private void trackBar3_Scroll(object sender, EventArgs e)
        {
            C = trackBar3.Value;
            box5.Text = Convert.ToString(C);

        }
        private void timer4_Tick(object sender, EventArgs e)
        {
            start2 = 180 - 180 * (100 - C) / 100;
            box6.Text = Convert.ToString(start2);
            timer5.Start();
        }
        private void timer5_Tick(object sender, EventArgs e)
        {
            start2 = start2 - 1;
            box6.Text = Convert.ToString(start2);
            oval9.Visible = true;
            oval7.Visible = false;

            if (start2 <= 5)
            {
                oval9.Visible = false;
                oval8.Visible = true;
            }
            if (start2 == 0)
            {
                oval7.Visible = true;
                oval8.Visible = false;
                oval9.Visible = false;
                timer5.Stop();

                start = 180 - 180 * (100 - A) / 100;
                start1 = 180 - 180 * (100 - B) / 100;
                start2 = 180 - 180 * (100 - C) / 100;
                box2.Text = Convert.ToString(start);

                oval3.Visible = true;
                oval1.Visible = false;

                timer1.Start();

              
            }
        }
    }
}



Friday, March 31, 2017

TUTORIAL WEBCAM for OpenCv 2.410 and Visual Basic 2012 #Detector Obyek

TUTORIAL WEBCAM for OpenCv 2.410 and Visual Basic 2012


1.           Instal OpenCV 2.410 dan Visual Basic 2012
2.           Buka VB.12 lalu ikuti langkah-langkah berikut :

a.    Klik kanan pada main VB // Properties //



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