 |
|
คือว่าตอนนี้สร้างโปรแกรมติดต่อกับกล้องเว็บแคมได้แล้ว (อย่ากใช้กล้องเว็บแคมถ่ายรูปแล้วทำการ save ลงคอม) C# |
|
 |
|
|
 |
 |
|
Code ที่นำมาแปะ ให้ใช้การ Copy มาวางแทนรูปภาพครับ 
|
 |
 |
 |
 |
Date :
2012-06-04 07:08:38 |
By :
mr.win |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (C#)
public partial class Form3 : Form
{
FilterInfoCollection DvList;//มาจาก vdoC# ต่อกล้องเว็บแคม ตัวเป็ล DvList กับ CAM สร้างตามัน
VideoCaptureDevice CAM, Webcam;
public Form3()
{
InitializeComponent();
}
private void Form3_Load(object sender, EventArgs e)
{
DvList = new FilterInfoCollection(FilterCategory.VideoInputDevice);
foreach (FilterInfo FIoo in DvList) //ใน vdo มัน ตั้งชื่อ Fioo ว่า info (7.50) เราจะตั้งชื่อไรก๋ได้
{
comboBox1.Items.Add(FIoo.Name);
}
comboBox1.SelectedIndex = 0; // ถ้าไม่มีกล้องต่อ มัน จะ erreor
if (comboBox1.SelectedIndex <= -1)
{
MessageBox.Show("โปรดตรวจสอบว่า ท่านได้ติดตั้งกล้องของท่านเรียบร้อยแล้ว", "ระบบไม่สามารถเชื่อมต่อกล้องของท่านได้", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
private void button1_Click(object sender, EventArgs e)
{
CAM = new VideoCaptureDevice(DvList[comboBox1.SelectedIndex].MonikerString); //เขียนตามนี้ อาจะไม่ได้ ไป ดูvdo (11.18)
CAM.NewFrame += new NewFrameEventHandler(CAM_NewFrame);
CAM.Start();
}
void CAM_NewFrame(object sender, NewFrameEventArgs eventArgs)//เมดตอด(อย่า copy)
{
Bitmap b = (Bitmap)eventArgs.Frame.Clone();
pictureBox1.Image = b;
}
private void button2_Click(object sender, EventArgs e)
{
if (CAM == null)
{
return;
}
if (CAM.IsRunning)
{
CAM.Stop();
}
}
}
}
|
 |
 |
 |
 |
Date :
2012-06-04 08:08:52 |
By :
kyokohoho |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
สวัสดีครับ
ผมอยากได้ตัวอย่างโค้ด VB2008 แสดงภาพวิดีโอจาก กล้อง Webcam มาแสดงผ่านทางโปรแกรมจากเหตุการณ์
FormLoad เลยนะครับแต่ว่าขอเป็นภาษา (VB) WindowsApplication ได้ไหมครับ รบกวนช่วยแนะนำหรือหาตัวอย่างให้ดู
ได้ไหมครับ ผมพึ่งหัดเขียนโปรแกรมใหม่ ยังไม่ค่อยเข้าใจ รบกวนช่วยอธิบายหลักการเพิ่มด้วยนะครับ ขอบคุณล่วงหน้าครับ
ได้เรื่องยังไงรับกวนส่ง Link ที่ [email protected] ครับ ขอบคุณล่วงหน้าครับ
|
 |
 |
 |
 |
Date :
2012-07-27 15:48:51 |
By :
watsa |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อยากลองเล่นมั่งอะ ขอยืมโค้ดนะครับ ฮ่าๆๆ
|
 |
 |
 |
 |
Date :
2012-07-27 16:43:06 |
By :
mixarstudio |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อยากได้โค๊ดครับ ton_wiw2(at)hotmail.com
|
 |
 |
 |
 |
Date :
2013-01-02 09:53:02 |
By :
ต้นน้ำ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แล้วถ้าเราจะ ถ่ายภาพแล้วเซฟลงเครื่อง จะต้องเพิ่มโค้ดอะไรตรงไหนครับ
|
 |
 |
 |
 |
Date :
2013-11-09 16:25:20 |
By :
Dream CPE |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
พอดีผมได้ลองศึกษา เกี่ยวกับกล้องเว็บแคม มีหลายเว็บที่มีโค้ตให้ดู และก็มีวิธีการหลายอย่างๆ ที่แตกต่างกันไป กล้องเว็บแคมที่ผมทำขึ้นมา
มีวิธีการทำงานดังนี้ครับ
1. เปิดกล้องตอน from_load
2. ใช้ ปุ่ม enter ในการ cap_picture
3. Auto save to sql server
ลองมาดูโค้ตกันนะครับ
Code (VB.NET)
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
Imports System.IO
Imports System.Data
Imports System.Data.SqlClient
Public Class webcam
Inherits System.Windows.Forms.Form
Dim path as string=""
Const WM_CAP As Short = &H400S
Const WM_CAP_DRIVER_CONNECT As Integer = WM_CAP + 10
Const WM_CAP_DRIVER_DISCONNECT As Integer = WM_CAP + 11
Const WM_CAP_EDIT_COPY As Integer = WM_CAP + 30
Const WM_CAP_SET_PREVIEW As Integer = WM_CAP + 50
Const WM_CAP_SET_PREVIEWRATE As Integer = WM_CAP + 52
Const WM_CAP_SET_SCALE As Integer = WM_CAP + 53
Const WS_CHILD As Integer = &H40000000
Const WS_VISIBLE As Integer = &H10000000
Const SWP_NOMOVE As Short = &H2S
Const SWP_NOSIZE As Short = 1
Const SWP_NOZORDER As Short = &H4S
Const HWND_BOTTOM As Short = 1
Dim iDevice As Integer = 0 ' Current device ID
Dim hHwnd As Integer ' Handle to preview window
Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, _
<MarshalAs(UnmanagedType.AsAny)> ByVal lParam As Object) As Integer
Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Integer, _
ByVal hWndInsertAfter As Integer, ByVal x As Integer, ByVal y As Integer, _
ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer
Declare Function DestroyWindow Lib "user32" (ByVal hndw As Integer) As Boolean
Declare Function capCreateCaptureWindowA Lib "avicap32.dll" _
(ByVal lpszWindowName As String, ByVal dwStyle As Integer, _
ByVal x As Integer, ByVal y As Integer, ByVal nWidth As Integer, _
ByVal nHeight As Short, ByVal hWndParent As Integer, _
ByVal nID As Integer) As Integer
Declare Function capGetDriverDescriptionA Lib "avicap32.dll" (ByVal wDriver As Short, _
ByVal lpszName As String, ByVal cbName As Integer, ByVal lpszVer As String, _
ByVal cbVer As Integer) As Boolean
Private sub Formwebcam_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
LoadDeviceList()
If lstDevices.Items.Count > 0 Then
lstDevices.SelectedIndex = 0
End If
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
iDevice = lstDevices.SelectedIndex
OpenPreviewWindow()
End sub
Private Sub Textboxwebcam_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Textboxwebcam.KeyDown
If e.KeyCode=Keys.Enter then
saveimage()
OpenPreviewWindow()
'save image to sqlserver
' ผมเขียน ย่อๆๆ ให้นะครับ
sql="INSERT INTO ..."
.Parameters.Add("@ImageLog", SqlDbType.VarChar).Value = Path 'โดยนำ path ลง sql
End If
End sub
Private Sub OpenPreviewWindow()
Dim iHeight As Integer = PictureBox1.Height
Dim iWidth As Integer = PictureBox1.Width
'
' Open Preview window in picturebox
'
hHwnd = capCreateCaptureWindowA(iDevice, WS_VISIBLE Or WS_CHILD, 0, 0, 640, _
480, PictureBox1.Handle.ToInt32, 0)
'
' Connect to device
'
If SendMessage(hHwnd, WM_CAP_DRIVER_CONNECT, iDevice, 0) Then
'
'Set the preview scale
'
SendMessage(hHwnd, WM_CAP_SET_SCALE, True, 0)
'
'Set the preview rate in milliseconds
'
SendMessage(hHwnd, WM_CAP_SET_PREVIEWRATE, 66, 0)
'
'Start previewing the image from the camera
'
SendMessage(hHwnd, WM_CAP_SET_PREVIEW, True, 0)
'
' Resize window to fit in picturebox
'
SetWindowPos(hHwnd, HWND_BOTTOM, 0, 0, PictureBox1.Width, PictureBox1.Height, _
SWP_NOMOVE Or SWP_NOZORDER)
'btnSave.Enabled = True
'btnStop.Enabled = True
'btnStart.Enabled = False
Else
'
' Error connecting to device close window
'
DestroyWindow(hHwnd)
'btnSave.Enabled = False
End If
End Sub
Private Sub LoadDeviceList()
Dim strName As String = Space(100)
Dim strVer As String = Space(100)
Dim bReturn As Boolean
Dim x As Integer = 0
'
' Load name of all avialable devices into the lstDevices
'
Do
'
' Get Driver name and version
'
bReturn = capGetDriverDescriptionA(x, strName, 100, strVer, 100)
'
' If there was a device add device name to the list
'
If bReturn Then lstDevices.Items.Add(strName.Trim)
x += 1
Loop Until bReturn = False
End Sub
Private Sub ClosePreviewWindow()
'
' Disconnect from device
'
SendMessage(hHwnd, WM_CAP_DRIVER_DISCONNECT, iDevice, 0)
'
' close window
'
DestroyWindow(hHwnd)
End Sub
Private Sub saveimage()
Dim data As IDataObject
Dim bmap As Image
Dim fs As FileStream
'
' Copy image to clipboard
'
SendMessage(hHwnd, WM_CAP_EDIT_COPY, 0, 0)
'
' Get image from clipboard and convert it to a bitmap
'
data = Clipboard.GetDataObject()
If data.GetDataPresent(GetType(System.Drawing.Bitmap)) Then
bmap = CType(data.GetData(GetType(System.Drawing.Bitmap)), Image)
ClosePreviewWindow()
PictureBox2.Image = bmap
Path = Application.StartupPath + "\" & TextBoxIDcard.Text & Label1.Text & LabelTime.Text.Substring(0, 1) & LabelTime.Text.Substring(6, 1) & ".bmp" ' ตั้งชื่อให้กับรูปภาพ ตามแต่สะดวก
Dim filename As String = Path
fs = New FileStream(filename, FileMode.Create)
bmap.Save(fs, System.Drawing.Imaging.ImageFormat.Bmp)
fs.Close()
End If
End Sub
End Class
|
 |
 |
 |
 |
Date :
2013-11-11 10:08:02 |
By :
tomonaha |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมอยากทราบวิธีที่ ปรับ pixel ของกล้องให้มีความคมชัดมากขึ้น ต้องแก้ที่จุดไหนคับ code เดียวกับ tomon เลยครับ
|
 |
 |
 |
 |
Date :
2014-04-28 15:01:06 |
By :
newname |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อยากได้เกี่ยวกับการใช้กล้องในการถ่ายรูปแล้วให้มาขึ้นในโปรแกรมนะค่ะ เหมือนที่หลายๆโรงพยาบาลนะค่ะใช้ windows form .cs นะค่ะรบกวนหน่อยนะค่ะ
|
 |
 |
 |
 |
Date :
2015-10-19 15:36:54 |
By :
mook |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
สวัสดีครับ พอดีผมกำลังทำโปรเจค เกี่ยวกับกล้องไอพี ผมลองก๊อปโค๊ดลงไปแล้วแต่ไม่สามารถรันได้
ติดที่ PictureBox not declare และ 1stDevices แก้ยังไงครับ ขอโทษทีนะครับพอดีมือใหม่ครับ
|
 |
 |
 |
 |
Date :
2016-06-05 19:22:57 |
By :
เอก |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|