MF 的个人资料CMF.net照片日志列表更多 ![]() | 帮助 |
|
|
6月17日 TrackEye : 使佣 Webcam 即時人眼追蹤追蹤 (OpenCV + C++)
眼睛是人面的最重要的特點。 那麼眼運動有效的作為在使佣者與電腦之間的介面的通信技術可能找到地方以各種各樣的應用範圍。
眼睛跟蹤和眼睛特點提供的信息有潛力成為一個有趣的方式溝通與在一個人機交互(HCI)系統的一臺計算機。 因此以這刺激,設計跟蹤軟件的一個實時眼睛特點是這個項目的目標。
項目的目的將實施一臺實時眼睛特點跟蹤儀以以下能力:
在TrackEye菜單之下 -->跟蹤儀設置
檢查「在細節的軌道眼睛」然後檢查「也查出眼睛瞳孔」。 點擊「調整參量」按鈕:
檢查「Indicate eye boundary using active snakes」。 點擊「snake的設置」按鈕:
到目前為止有在眼睛偵查的很多工作,并且在項目之前,早先方法小心地被學習確定執行的方法。 我們可以分類研究與眼睛有關入二個主要類別如下所示:
這些研究的類型使用將給某一排序信號與眼睛位置是比例在軌道的必要的設備。 是當前在使用中的各種各樣的方法是眼動電圖描記法,紅外Oculography, Scleral探察線圈。 這些方法完全地是在我們的項目外面。
圖像基於方法進行在圖像的眼睛偵查。 使用眼睛的特點,大多數圖像根據方法設法查出眼睛。 到目前為止使用的方法是基於知識的方法,基於特點的方法(顏色,梯度),簡單模板匹配,出現方法。 另一個有趣的方法是「根據匹配在眼睛圖像的一塊幾何眼睛模板通過使幾何模型的能量減到最小的可變性模板匹配」。
被實施的項目在三個組分:
二個不同的方法在項目執行。 他們是:
能適應的卑鄙轉移算法為跟蹤人面使用和根據攀登密度梯度的健壯非參數技術發現方式(峰頂)稱卑鄙轉移算法的概率分佈。 當面孔在錄影序列被跟蹤,手段修改轉移算法應付動力變化的顏色概率分佈的問題。 如下給算法的結構圖:
[img]http://www.codeproject.com/KB/cpp/TrackEye/TrackEye2.jpg[/img]
第二種面孔偵查算法根據量詞與Haar像特點(即小瀑布一起使用促進的量詞與Haar像特點一起使用)。 首先它訓練與一些數百面孔的樣品視圖。 在量詞被訓練之後,它在輸入圖像上可以被申請於興趣的區域。 量詞輸出「 二個不同的方法在項目執行:
模板匹配是對象偵查的一個知名的方法。 在我們的模板匹配方法,標準眼孔圖樣手動地被創造,并且給輸入圖像,與標準圖案的交互作用價值為眼睛被計算。 眼睛的存在根據交互作用價值是堅定的。 這種方法有好處的是簡單實施。 然而,因為它不可能有效地應付在標度、姿勢和形狀上的變化它也許有時是不充分的為眼睛偵查。
能適應 歷史
*请注意:
4月8日 4月7日 DHL 寄來的 MVP Award BoxSubject: [MVP]恭禧您成為第七屆第三回合微軟「最有價值專家」!!
親愛的微軟「最有價值專家」(MVP),您好︰
在歷經長達數星期的激烈競爭與評選,恭禧您從眾多優秀的競爭者中脫穎而出,成為微軟技術社群暨最有價值專家,第七屆第三回合微軟「最有價值專家」(Most
Valuable Professional, MVP)!微軟最有價值專家暨社群
APAC, (Asia and Pacific)及EMEA,
(Europe, the
Middle East and Africa) 總經理 Karen-Ann
Young,帶領全微軟最有價值專家暨社群同仁,在此恭禧您!微軟「最有價值專家」(MVP)是贏得微軟技術社群討論區參與者肯定的最高榮譽! MVP 證書
MVP Award Box
![]() ![]() MVP CARD
MVP 徽章
MVP 禮物 : 藍牙工具包
![]() 3月24日 A Neural Network on GPUA Neural Network on GPU
IntroductionAn Artificial Neural Network is an information processing method that was inspired by the way biological nervous systems function, such as the brain, process information. It is composed of a large number of highly interconnected processing elements (neurons) working in unison to solve specific problems. Neural Networks have been widely used in "analogous" signal classifications, including handwriting, voice and image recognitions. Neural network can also be used in computer games. It enables games with the ability to adaptively learn from player behaviors. This technique has been used in racing games, such that opponent cars controlled by computer can learn how to drive from human players. Since a Neural Network requires considerable number of vector and matrix operations to get results, it is very suitable to be implemented in a parallel programming model and run on Graphics Processing Units (GPUs). Our goal is to utilize and unleash the power of GPUs to boost the performance of a Neural Network solving handwriting recognition problems. This project was originally our graphics architecture course project. We ran on GPU the same neural network described by Mike O'Neill in his brilliant article "Neural Network for Recognition of Handwritten Digits". CadLib for creating DXF(Drawing Interchange Format) filesCadLib for creating DXF(Drawing Interchange Format) filesBy Omid Shahabi
IntroductionWhat is DXF?Drawing Interchange Format (DXF) files enable the interchange of drawings between AutoCAD and other programs. DXF files can be either ASCII or binary formats. Because ASCII DXF files are more common than the binary format, CadLib uses ASCII DXF format. What is CadLib?The CadLib is not a Computer Aided Design (CAD) program. It is a tool for creating DXF files that are used in the CAD programs. It consists of two parts. One of them is a Dynamic Link Library to create the DXF file. The other part is the programming interface. It is a class that integrates the cadio.dll functions. It can be used in Microsoft Visual C++ projects. In addition, the cadio.dll can be used in other Win32 programs. Why use CadLib?In some programs, it is needed to create a drawing output for use in other programs such as AutoCad. For example, in a "Building Detail Sheet Generator Program", the program needs to create a drawing output. And the most standard format for communicating drawing data is DXF.
DXF file structureThe DXF format is a tagged data representation of all the information contained in a drawing file. Tagged data means that each data element in the file is preceded by an integer number that is called a group code. A group code's value indicates what type of data element follows. This value also indicates the meaning of a data element for a given object (or record) type. Virtually all user-specified information in a drawing file can be represented in DXF format. (from AutoCad's DXF reference) A DXF file consists of some sections. Each section has some drawing data in itself. The CadLib uses the following sections:
The main reference for DXF file structure that is used for CadLib is the AutoCad's DXF reference. You can find more information about DXF file structure here. 2月26日 在程式中開啟 檔案總管 (Using C#)
// Starts Windows Explorer with two different command line arguments. startInfo.Arguments = "/n"; // 或 直接指定 資料夾路徑 startInfo.Arguments = "C:\\TEST\\"; Process.Start(startInfo); 2月1日 取得 目前系統 登入 的 使用者帳號 (C#) private void button1_Click(object sender, EventArgs e)
{ // 取得 目前系統 登入 的 使用者帳號 String Us=System.Windows.Forms.SystemInformation.UserName; MessageBox.Show( "使用者帳號:" + Us); } 1月30日 加入參考 System.Design 組件 (.NET) 方案總管 -> 右鍵選單 -> 加入參考
命名空間: System.ComponentModel.Design System.ComponentModel.Design 命名空間 (Namespace) 包含的類別,可供開發人員用來建置 (Build) 元件的自訂設計階段行為以及在設計階段設定元件的使用者介面。設計階段環境提供讓開發人員排列元件和設定其屬性的系統。有些元件可能需要僅適用設計階段的行為,才能在設計階段環境中正常作用。提供協助開發人員設定元件或複雜資料型別值的自訂使用者介面可能也頗有價值。在此命名空間內定義的類別和介面,也可以用來建置元件的自訂設計階段行為、存取設計階段服務以及實作自訂的設計階段組態介面 說明文件 http://msdn2.microsoft.com/zh-tw/library/system.componentmodel.design(VS.80).aspx 1月25日 取得網路磁碟機及其路徑的對照 (C#)// Get UNC Path
[DllImport("mpr.dll")] [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode), Serializable()] 說明文件
|
| Converting network drive-based path to universal path name |
'The following code shows how to use the WNetGetUniversalName for converting 'network drive-based path (Like I:\windows) to universal path name (Like \\MyComputer\c\windows) ' Private Declare Function WNetGetUniversalName Lib "mpr" Alias "WNetGetUniversalNameA" _ (ByVal lpLocalPath As String, ByVal dwInfoLevel As Long, lpBuffer As Any, lpBufferSize As Long) As Long Private Const UNIVERSAL_NAME_INFO_LEVEL = 1 Private Const REMOTE_NAME_INFO_LEVEL = 2 Private Const UNIVERSAL_NAME_BUFFER_SIZE = 1000 Private Const NO_ERROR = 0 Private Type UNIVERSAL_NAME_INFO lpUniversalName As Long buf(UNIVERSAL_NAME_BUFFER_SIZE - 4) As Byte End Type Private Sub cmdGetUniversal_Click() Dim BufSize As Long Dim uni As UNIVERSAL_NAME_INFO BufSize = UNIVERSAL_NAME_BUFFER_SIZE If WNetGetUniversalName(txtPath.Text, UNIVERSAL_NAME_INFO_LEVEL, uni, BufSize) = NO_ERROR Then 'After we return from WNetGetUniversalName, the lpUniversalName contains a pointer for the 'universal path name. 'The pointer is usually points to the first byte of the buffer array '(buf variable in UNIVERSAL_NAME_INFO ). 'Just to be safe, I calculate the exact location of the string in the buffer, 'by the following expression: (The result is always 1) StartLoc = uni.lpUniversalName - VarPtr(uni) - 3 txtUniversal.Text = Mid$(StrConv(uni.buf, vbUnicode), StartLoc) Else MsgBox "Error: cannot find the universal path of " & txtPath.Text, vbOKOnly Or vbExclamation, "" End If End Sub |
#include "resource.h"
#include <windows.h>
#include <stdio.h>
BOOL CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
HWND g_Dlg_hWnd = NULL;
HICON hIcon1;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
hIcon1 = (HICON) LoadImage( hInstance, MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON,
16,
16,
LR_DEFAULTSIZE);
HRESULT hr;
DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, (DLGPROC)DialogProc);
return 1;
}
BOOL CALLBACK DialogProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
case WM_INITDIALOG:
SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM) hIcon1 );
g_Dlg_hWnd = hWnd;
break;
case WM_COMMAND:
break;
case WM_CLOSE:
DestroyWindow(hWnd);
break;
}
return FALSE;
}
|
|