Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > C# ทำยังไง ให้กล้อง Capture ภาพ ทุก 3 วินาทีคะ ช่วยหน่อยนะคะ ^^



 

C# ทำยังไง ให้กล้อง Capture ภาพ ทุก 3 วินาทีคะ ช่วยหน่อยนะคะ ^^

 



Topic : 041198



โพสกระทู้ ( 40 )
บทความ ( 0 )



สถานะออฟไลน์




หนูเขียนโค้ด c# แล้วอยากให้มันสามารถ

- เมื่อกดปุ่น start แล้ว กล้องถ่ายภาพ ทุกๆ 3 วินาทีเรื่อยๆ โดยเก็บรูป ไว้แค่ 2 ชื่อในเวลาที่ต่างกัน
เช่น วินาทีที่ 3 บันทักในชื่อ a.jpg วินาทีที่ 6 ชื่อ b.jpg วินาทีที่ 9 ชื่อ a.jpg วินาทีที่ 12 ชื่อ b.jpg
เพื่อจะนำ a กับ b ไปหาความแตกต่างต่อไป ทำแบบนี้ไปเรื่อยๆ จนกว่าจะกดปุ่ม stop จะต้องเขียนโด้ดยังไงคะ

หนูลองแล้วมันก็วนลูปจนโปรแกรมค้างไปเลยอะค่ะ โดยที่ถ่ายได้แค่รูปเดียว แล้วการทำแบบนี้ต้องเกี่ยวข้องกับนาฬิกาเครื่องหรือเปล่าคะ

ขอบคุณค่ะ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-04-03 04:36:23 By : Takezeed View : 4487 Reply : 9
 

 

No. 1

Guest


ใช้ timer ตั้งเวลาไว้ (interval) 3000 มิลลิเซค = 3 วิ

แล้วให้ event tick สั่งให้ capture รูป






Date : 2010-04-03 09:04:53 By : tungman
 


 

No. 2



โพสกระทู้ ( 40 )
บทความ ( 0 )



สถานะออฟไลน์


แล้ว การcapture ภาพให้เป็น 2 ชื่อ แล้ววนทับไปเรื่อยๆ ทำยังไงดีคะ วินาทีที่ 3 บันทักในชื่อ a.jpg วินาทีที่ 6 ชื่อ b.jpg วินาทีที่ 9 ชื่อ a.jpg วินาทีที่ 12 ชื่อ b.jpg
เพื่อจะนำ a กับ b ไปหาความแตกต่างต่อไป ทำแบบนี้ไปเรื่อยๆ จนกว่าจะกดปุ่ม stop จะต้องเขียนโด้ดยังไงคะ
Date : 2010-04-03 16:25:43 By : Takezeed
 

 

No. 3



โพสกระทู้ ( 44 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ลองใช้ array ดูก็ได้ครับ หรือจะ For เอาก็น่าจะได้
Date : 2010-04-26 11:21:32 By : iheerman
 


 

No. 4



โพสกระทู้ ( 373 )
บทความ ( 0 )



สถานะออฟไลน์


อธิบายก่อนว่า

การ Loop ด้วย โปรแกรม ก็เอ๋อหร๋อ แบบนี้ละครับ เพราะช่วงเวลา 3 วินาที อาจจะทำให้ system เรา save รูปไม่ทัน แล้ว Loop มันชนกันเอง หมายถึง งานเก่ายัง save รูปลง Hard disk ไม่เสร็จ งานใหม่มาอีก Loop แล้ว (มี IO lock Open/Read/Write ด้วยน่ะ วุ่นวายมากๆ)

1. ใช้ Timer ก็ดีครับ แต่ก็จะ error คล้ายๆ เดิม ถ้า เป็นที่ IO ของ hard disk อีกนะครับ เพียงแต่ดีขึ้นหน่อยตรงที่ มันเริ่มเป็น thread แยกแล้ว มันจะไม่ชนกันกับ loop เก่า
2. ไม่จะเป็น ไม่ต้องเก็บรูปลง Hard disk ได้หรือไม่ ใช้ memory stream เอาดีกว่า เร็วกว่าเยอะครับ ลองไปศึกษาดูก่อน
3. คุณ save รูปลง Hard disk แล้วไป read จาก hard disk มาเปรียบเทียบกับรูปเก่า มันก็ช้าลง อย่างน้อย 2 เท่าแล้ว ใช้ memory stream ดีกว่าครับ

ผมแค่สังเกตโปรแกรมคุณเท่านั้นครับ ที่คาดว่าจะ มี error แบบนี้ ลองหรับเปลี่ยนใหม่ดูครับ ลอง post code มาดูครับ
Date : 2010-04-27 11:52:52 By : numenoy
 


 

No. 5



โพสกระทู้ ( 40 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณ คุณ numenoy มากนะค่ะ สำหรับการแนะนำ พอดีหาตัวอย่าง การเซฟรูปแบบ memory stream
แต่มันจะเป็นการเลือกไดอะล็อก เราจะทำให้มันบันทึก แบบอัตโนมัติ ลง c:\\ Image1.jpg ได้ยังไงคะ

Code (C#)
public static void SaveImageCapture(System.Drawing.Image image)
        {

              SaveFileDialog s = new SaveFileDialog();
            s.FileName = "Image";  // Default file name
            s.DefaultExt = ".Jpg";  // Default file extension
            s.Filter = "Image (.jpg)|*.jpg";   // Filter files by extension

            // Show save file dialog box
            // Process save file dialog box results
            if (s.ShowDialog()==DialogResult.OK)
            {
                // Save Image
            s.FileName = new FileName();  
                s.FileName = "Image";
                string filename = s.FileName;
                FileStream fstream = new FileStream(filename, FileMode.Create);
                image.Save(fstream, System.Drawing.Imaging.ImageFormat.Jpeg);
                fstream.Close();
            
            }

        }

Date : 2010-04-29 03:14:44 By : Takezeed
 


 

No. 6



โพสกระทู้ ( 373 )
บทความ ( 0 )



สถานะออฟไลน์


Code (C#)
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;

namespace CameraViewer.Tools
{
    public class ImageProcessing
    {
        public static Image LoadImage()
        {
            Image image = null;
            using (System.Windows.Forms.OpenFileDialog op = new System.Windows.Forms.OpenFileDialog())
            {
                op.Title = "Open Image File";
                op.Filter = "JPEG Documents (*.jpg)|*.jpg|BMP Documents (*.bmp)|*.bmp|Gif Files|*.gif";
                if (op.ShowDialog() == System.Windows.Forms.DialogResult.OK && !string.IsNullOrEmpty(op.FileName) && System.IO.File.Exists(op.FileName))
                {
                    image = LoadImage(op.FileName);
                }
                else return image;
            }
            return image;
        }

        public static Image LoadImage(string filePath)
        {
            Image image = null;
            byte[] bArrImage = new byte[0];
            try
            {
                // convert Image to byte array and save in
                System.IO.FileStream fsImage = null;
                fsImage = System.IO.File.Open(filePath, System.IO.FileMode.Open, System.IO.FileAccess.Read);
                bArrImage = new byte[fsImage.Length];
                fsImage.Read(bArrImage, 0, (int)fsImage.Length);
                fsImage.Close();
                System.IO.MemoryStream ms = new System.IO.MemoryStream(bArrImage);
                image = Image.FromStream(ms);
                ms.Dispose();
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message, "Error Storing Image");
            }
            return image;
        }

        public static Bitmap ResizeBitmap(Bitmap b, int nWidth, int nHeight)
        {
            Bitmap result = new Bitmap(nWidth, nHeight);
            using (Graphics g = Graphics.FromImage((Image)result))
                g.DrawImage(b, 0, 0, nWidth, nHeight);
            return result;
        }

        //Generate new image dimensions
        public static Size GenerateImageDimensions(int currW, int currH, int destW, int destH)
        {
            //double to hold the final multiplier to use when scaling the image
            double multiplier = 0;

            //string for holding layout
            string layout;

            //determine if it's Portrait or Landscape
            if (currH > currW) layout = "portrait";
            else layout = "landscape";

            switch (layout.ToLower())
            {
                case "portrait":
                    //calculate multiplier on heights
                    if (destH > destW)
                    {
                        multiplier = (double)destW / (double)currW;
                    }

                    else
                    {
                        multiplier = (double)destH / (double)currH;
                    }
                    break;
                case "landscape":
                    //calculate multiplier on widths
                    if (destH > destW)
                    {
                        multiplier = (double)destW / (double)currW;
                    }

                    else
                    {
                        multiplier = (double)destH / (double)currH;
                    }
                    break;
            }

            //return the new image dimensions
            return new Size((int)(currW * multiplier), (int)(currH * multiplier));
        }
    }
}


ลองดูก่อนแล้วกันครับ
ถ้าจะ load รูปจาก file จริงๆ ก็เอา class นี้ไปใช้ ลองศึกษาดู
ถ้าจะใช้ memory stream ใน class นี้ก็มีตัวอย่างการใช้อยู่ ลองแปลงดูครับ ผมคิดว่ารูปที่คุณได้จากกล้องมา มันน่าจะเป็น byte[] อยู่แล้ว
เรื่องแปลงไปใช้ memory stream คงไม่ยากเกินไปครับ
Date : 2010-04-29 10:30:13 By : numenoy
 


 

No. 7

Guest


คือผมศึกษาว่าจะทำงัยให้มันติดต่อกับกล้อง webcam ด้วย c# ผมลองดูโคตรค้างบนมันมีสวนไหนอะครับที่จะให้ติดต่อกับกล้องผมไม่รู้จะติดต่อยังงัยให้กล้อง webcam สามารถ รัน บน c# ได้ ช่วยหน่อย นะครับขอบคุณครับ
Date : 2011-02-10 05:28:57 By : samsungbkd
 


 

No. 8



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Go to : งานเข้าครับ Capture Screen ด้วย C# (.NET) ช่วยหน่อยครับ C# Capture Web Page , Capture Screen

อันนี้ Capture Screen ครับ
Date : 2011-02-10 06:32:11 By : webmaster
 


 

No. 9



โพสกระทู้ ( 5 )
บทความ ( 0 )



สถานะออฟไลน์


ถ้าติดต่อกล้อง webcam ได้แล้ว ต้องเขียนโปรแกรมยังไงถึงจะเรียก code ข้างบนได้คะ
Date : 2011-11-13 11:50:06 By : noonn
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : C# ทำยังไง ให้กล้อง Capture ภาพ ทุก 3 วินาทีคะ ช่วยหน่อยนะคะ ^^
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่