Exemple #1
0
        private void ScanRow(int xPosition)
        {
            while (m_motors[(int)Devices.XAxisTopMotor].Position < xPosition) //Scan for one row
            {
                //Step the X axis camera to the next position
                m_arduinoControl.SendCommandBlocking(Devices.XAxisTopMotor, Functions.MoveStepperForward, DevSettingsProp.DistanceToMovePerImageX);
                m_arduinoControl.SendCommandBlocking(Devices.XAxisBottomMotor, Functions.MoveStepperForward, DevSettingsProp.DistanceToMovePerImageX);

                cameraCapture.Capture = new VideoCapture(cameraCapture.TopIndex);
                cameraCapture.Capture.SetCaptureProperty(CapProp.FrameWidth, 1920);
                cameraCapture.Capture.SetCaptureProperty(CapProp.FrameHeight, 1080);

                //Give time for the first capture to auto focus:
                if (first_capture == true)
                {
                    Thread.Sleep(5000);
                }
                else
                {
                    // Thread.Sleep(250);
                }

                cameraCapture.TakePicture(0);
                Thread.Sleep(50);
                cameraCapture.Capture.Dispose();
                Thread.Sleep(50);
                first_capture = false;



                /*
                 * cameraCapture.Capture = new VideoCapture(cameraCapture.BottomIndex);
                 * cameraCapture.Capture.SetCaptureProperty(CapProp.FrameWidth, 1920);
                 * cameraCapture.Capture.SetCaptureProperty(CapProp.FrameHeight, 1080);
                 * cameraCapture.TakePicture((int)Devices.XAxisBottomMotor);
                 * ImagePath = cameraCapture.Filepath;
                 * cameraCapture.Capture.Dispose(); */

                // ImagePath = cameraCapture.Filepath;
                //  OnPropertyChanged(this, "ImagePath");
            }
        }
Exemple #2
0
        static void Main(string[] args)
        {
            CameraCapture cameraCapture = new CameraCapture();

            cameraCapture.CallobrateCameras();
            // var save_path = "C:/Users/Kestutis/Documents/ACIS";     //path to images to stitch
            var UserSettings = new UserSettings();
            var save_path    = UserSettings.SavePath;
            var file_name    = "c0";


            cameraCapture.Init_camera(2, 2, save_path, file_name);


            cameraCapture.Capture = new VideoCapture(2);
            cameraCapture.Capture.SetCaptureProperty(CapProp.FrameWidth, 1920);
            cameraCapture.Capture.SetCaptureProperty(CapProp.FrameHeight, 1080);

            for (int i = 0; i < 4; i++)
            {
                cameraCapture.TakePicture(0);
            }

            cameraCapture.Capture.Dispose();
            Thread.Sleep(2000);

            cameraCapture.Capture = new VideoCapture(0);
            cameraCapture.Capture.SetCaptureProperty(CapProp.FrameWidth, 1920);
            cameraCapture.Capture.SetCaptureProperty(CapProp.FrameHeight, 1080);

            for (int i = 0; i < 4; i++)
            {
                cameraCapture.TakePicture(0);
            }

            cameraCapture.Capture.Dispose();
            Thread.Sleep(2000);

            cameraCapture.Capture = new VideoCapture(1);
            cameraCapture.Capture.SetCaptureProperty(CapProp.FrameWidth, 1920);
            cameraCapture.Capture.SetCaptureProperty(CapProp.FrameHeight, 1080);

            for (int i = 0; i < 4; i++)
            {
                cameraCapture.TakePicture(0);
            }

            cameraCapture.Capture.Dispose();



            // var cam1T = new Thread(() => {
            //     var frame1 = new Mat();
            //     var cam1 = new VideoCapture(0);
            //     cam1.SetCaptureProperty(CapProp.FrameWidth, 320);
            //     cam1.SetCaptureProperty(CapProp.FrameHeight, 240);
            //     cam1.Start();
            //     while (true)
            //     {
            //         cam1.Read(frame1);
            //         CvInvoke.Imshow("Cam1", frame1);
            //         CvInvoke.WaitKey(1);
            //     }
            //     CvInvoke.DestroyAllWindows();
            // });

            // var cam2T = new Thread(() => {
            //     var frame1 = new Mat();
            //     var cam1 = new VideoCapture(1);
            //     cam1.SetCaptureProperty(CapProp.FrameWidth, 320);
            //     cam1.SetCaptureProperty(CapProp.FrameHeight, 240);
            //     cam1.Start();
            //     while (true)
            //     {
            //         cam1.Read(frame1);
            //         CvInvoke.Imshow("Cam2", frame1);
            //         CvInvoke.WaitKey(1);
            //     }
            //     CvInvoke.DestroyAllWindows();
            // });

            // var cam3T = new Thread(() => {
            //     var frame1 = new Mat();
            //     var cam1 = new VideoCapture(2);
            //     cam1.SetCaptureProperty(CapProp.FrameWidth, 320);
            //     cam1.SetCaptureProperty(CapProp.FrameHeight, 240);
            //     cam1.Start();
            //     while (true)
            //     {
            //         cam1.Read(frame1);
            //         CvInvoke.Imshow("Cam3", frame1);
            //         CvInvoke.WaitKey(1);
            //     }
            // });

            // var cam4T = new Thread(() => {
            //     var frame1 = new Mat();
            //     var cam1 = new VideoCapture(3);
            //     cam1.SetCaptureProperty(CapProp.FrameWidth, 320);
            //     cam1.SetCaptureProperty(CapProp.FrameHeight, 240);
            //     cam1.Start();
            //     while (true)
            //     {
            //         cam1.Read(frame1);
            //         CvInvoke.Imshow("Cam4", frame1);
            //         CvInvoke.WaitKey(1);
            //     }
            // });

            // cam1T.Start();
            // cam2T.Start();
            // cam3T.Start();
            //// cam4T.Start();

            // var frame1 = new Mat();
            // var cam1 = new VideoCapture(0);
            // cam1.Start();
            // for (int i = 0; i < 10; i++)
            // {
            //     cam1.Read(frame1);
            //     CvInvoke.Imshow("Cam1", frame1);
            //     CvInvoke.WaitKey(1);
            // }


            // cam1.Stop();
            // cam1.Dispose();

            // cam1 = new VideoCapture(1);
            // for (int i = 0; i < 10; i++)
            // {
            //     cam1.Read(frame1);
            //     CvInvoke.Imshow("Cam1", frame1);
            //     CvInvoke.WaitKey(1);
            // }


            // cam1.Stop();
            // cam1.Dispose();

            // cam1 = new VideoCapture(2);
            // for (int i = 0; i < 10; i++)
            // {
            //     cam1.Read(frame1);
            //     CvInvoke.Imshow("Cam1", frame1);
            //     CvInvoke.WaitKey(1);
            // }

            //var cam1T = new Thread(() => {
            //    var frame1 = new Mat();
            //    var cam1 = new VideoCapture(0);
            //    cam1.Start();
            //    while (true)
            //    {
            //        cam1.Read(frame1);
            //        CvInvoke.Imshow("Cam1", frame1);
            //        CvInvoke.WaitKey(1);
            //    }
            //    CvInvoke.DestroyAllWindows();
            //});

            //var cam2T = new Thread(() => {
            //    var frame1 = new Mat();
            //    var cam1 = new VideoCapture(1);
            //    cam1.Start();
            //    while (true)
            //    {
            //        cam1.Read(frame1);
            //        CvInvoke.Imshow("Cam2", frame1);
            //        CvInvoke.WaitKey(1);
            //    }
            //    CvInvoke.DestroyAllWindows();
            //});

            //var cam3T = new Thread(() => {
            //    var frame1 = new Mat();
            //    var cam1 = new VideoCapture(2);
            //    cam1.Start();
            //    while (true)
            //    {
            //        cam1.Read(frame1);
            //        CvInvoke.Imshow("Cam3", frame1);
            //        CvInvoke.WaitKey(1);
            //    }

            //cam1T.Start();
            //Thread.Sleep(2000);
            //cam1T.Abort();
            //cam2T.Start();
            //Thread.Sleep(2000);
            //cam2T.Abort();
            //cam3T.Start();
        }
Exemple #3
0
 private void TakePicture()
 {
     _cameraCapture.TakePicture();
 }