In order to execute commands of SCVMM 2012 R2, the procedure is :
1. Execute powershell by administrator
2. ps> Set-ExecutionPolicy remotesigned
3. ps> Import-Module "C:\Program Files\Microsoft System Center 2012 R2\Virtual Machine Manager\bin\psModules\virtualmachinemanager\virtualmachinemanager.psd1"
2014年3月20日 星期四
2014年3月18日 星期二
Windows 8.1 + VS2012 開發市集(Window Store)應用程式在目標機器上測試程序
1. Prepare 'Windows Store App' program.
2. VS 2012 建立應用程式
3. 自行測試
4. Settings
5. 建置完成
6. 產生套件(安裝)目錄與PowerShell批次指令程式
7. 複製到目標電腦,安裝後執行
2. VS 2012 建立應用程式
3. 自行測試
5. 建置完成
6. 產生套件(安裝)目錄與PowerShell批次指令程式
7. 複製到目標電腦,安裝後執行
2014年1月31日 星期五
Google TTS by WPF C#
1. OS: Windows 8.1
2. Tool: Visual Studio 2012
3. Coding
WPF :
<Window x:Class="WPFGoogleTTS.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" >
<StackPanel>
<TextBox Name="tb1" Height="30" Width="300" >這是一個測試</TextBox>
<Button Name="btn1" Click="btn1_Click" Width="150" Height="50" ></Button>
<MediaElement Name="med1" Width="20" Height="20" LoadedBehavior="Manual" >
</MediaElement>
</StackPanel>
</Window>
C# :
namespace WPFGoogleTTS
{
/// <summary>
/// MainWindow.xaml 的互動邏輯
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void btn1_Click(object sender, RoutedEventArgs e)
{
var chinese = "這是一個測試。";
string pathx = "http://translate.google.com/translate_tts?ie=UTF-8&tl=zh-TW&q=" + tb1.Text ;
Uri u = new Uri(pathx, UriKind.RelativeOrAbsolute);
med1.Source = u;
med1.Play();
}
}
}
2. Tool: Visual Studio 2012
3. Coding
WPF :
<Window x:Class="WPFGoogleTTS.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" >
<StackPanel>
<TextBox Name="tb1" Height="30" Width="300" >這是一個測試</TextBox>
<Button Name="btn1" Click="btn1_Click" Width="150" Height="50" ></Button>
<MediaElement Name="med1" Width="20" Height="20" LoadedBehavior="Manual" >
</MediaElement>
</StackPanel>
</Window>
C# :
namespace WPFGoogleTTS
{
/// <summary>
/// MainWindow.xaml 的互動邏輯
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void btn1_Click(object sender, RoutedEventArgs e)
{
var chinese = "這是一個測試。";
string pathx = "http://translate.google.com/translate_tts?ie=UTF-8&tl=zh-TW&q=" + tb1.Text ;
Uri u = new Uri(pathx, UriKind.RelativeOrAbsolute);
med1.Source = u;
med1.Play();
}
}
}
2014年1月12日 星期日
emgu-無法載入 DLL 'opencv_core290': 找不到指定的模組
1. Hardware : ASUS X450J, OS: WIndows 8.1(x64)
2. Tools: VS2012
3. Error as title.
4. Solve by emgu wiki solution
copy C:\Emgu\emgucv-windows-universal-cuda 2.9.0.1922\bin\x64 folder into
VS2012 Project xxx/bin/.debug
2. Tools: VS2012
3. Error as title.
4. Solve by emgu wiki solution
copy C:\Emgu\emgucv-windows-universal-cuda 2.9.0.1922\bin\x64 folder into
VS2012 Project xxx/bin/.debug
2014年1月9日 星期四
Kinect ShapeGame 中文化
1. Kinect SDK 1.8 ShapeGame 範例,VS2012 @ Windows 8 ASUS X450J
2. MSSpeech_SR_zh_TW_Tele.msi V11, 微軟已不開放下載 http://www.vdisk.cn/down/index/10996836
3. 修改 SpeechRecognizer.cs
private static RecognizerInfo GetKinectRecognizer()
{
//Func<RecognizerInfo, bool> matchingFunc = r =>
//{
// string value;
// r.AdditionalInfo.TryGetValue("Kinect", out value);
// return "True".Equals(value, StringComparison.InvariantCultureIgnoreCase) && "en-US".Equals(r.Culture.Name, StringComparison.InvariantCultureIgnoreCase);
//};
//return SpeechRecognitionEngine.InstalledRecognizers().Where(matchingFunc).FirstOrDefault();
// 中文化
RecognizerInfo SPE = SpeechRecognitionEngine.InstalledRecognizers()[0];
for (int i = 0; i < SpeechRecognitionEngine.InstalledRecognizers().Count; i++)
{
if (SpeechRecognitionEngine.InstalledRecognizers()[i].Culture.Name == "zh-TW")
{
SPE = SpeechRecognitionEngine.InstalledRecognizers()[i];
break;
}
}
return SPE;
}
4.
2. MSSpeech_SR_zh_TW_Tele.msi V11, 微軟已不開放下載 http://www.vdisk.cn/down/index/10996836
3. 修改 SpeechRecognizer.cs
private static RecognizerInfo GetKinectRecognizer()
{
//Func<RecognizerInfo, bool> matchingFunc = r =>
//{
// string value;
// r.AdditionalInfo.TryGetValue("Kinect", out value);
// return "True".Equals(value, StringComparison.InvariantCultureIgnoreCase) && "en-US".Equals(r.Culture.Name, StringComparison.InvariantCultureIgnoreCase);
//};
//return SpeechRecognitionEngine.InstalledRecognizers().Where(matchingFunc).FirstOrDefault();
// 中文化
RecognizerInfo SPE = SpeechRecognitionEngine.InstalledRecognizers()[0];
for (int i = 0; i < SpeechRecognitionEngine.InstalledRecognizers().Count; i++)
{
if (SpeechRecognitionEngine.InstalledRecognizers()[i].Culture.Name == "zh-TW")
{
SPE = SpeechRecognitionEngine.InstalledRecognizers()[i];
break;
}
}
return SPE;
}
4.
5. 下載
6. 全中文版下載
2014年1月5日 星期日
Kinect Skeleton Raw
Ref: Kinect for Windows SDK 1.8
1. Try to get skeleton raw data in a few statements.
2. Procedure
2-1 Add reference
2-2 using namespace
2-3 add data into a Access data table
3. Coding
// 1. Add Ref, using
using Microsoft.Kinect;
using System.Data.OleDb;
namespace WPFSkeletonRaw
{
/// <summary>
/// MainWindow.xaml 的互動邏輯
/// </summary>
public partial class MainWindow : Window
{
// 2.
KinectSensor sensor;
OleDbConnection conn = new OleDbConnection();
public MainWindow()
{
InitializeComponent();
// 3.
sensor = KinectSensor.KinectSensors[0];
sensor.SkeletonStream.Enable();
sensor.SkeletonFrameReady += sensor_SkeletonFrameReady;
sensor.Start();
sensor.ElevationAngle = 10;
conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database1.accdb";
conn.Open();
for (int i = 0; i < 20; i++)
for (int j = 0; j < 3; j++)
{
TranslateTransform TR = new TranslateTransform(j * 100, i * 30);
txtbx[i, j] = new TextBox();
txtbx[i, j].Width = 90;
txtbx[i, j].Height = 25;
txtbx[i, j].RenderTransform = TR;
Can1.Children.Add(txtbx[i, j]);
}
}
TextBox[,] txtbx = new TextBox[20, 3];
void sensor_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
{
Skeleton[] skeletons = new Skeleton[0];
using (SkeletonFrame skeletonFrame = e.OpenSkeletonFrame())
{
if (skeletonFrame != null)
{
skeletons = new Skeleton[skeletonFrame.SkeletonArrayLength];
skeletonFrame.CopySkeletonDataTo(skeletons);
}
}
foreach (Skeleton skeleton in skeletons)
{
if (skeleton.TrackingState == SkeletonTrackingState.Tracked)
{
//DrawTrackedSkeletonJoints(skeleton.Joints);
for (int i=0; i<20; i++)
{
string x, y, z;
x = skeleton.Joints[(JointType)i].Position.X.ToString();
y = skeleton.Joints[(JointType)i].Position.Y.ToString();
z = skeleton.Joints[(JointType)i].Position.Z.ToString();
txtbx[i, 0].Text = x;
txtbx[i, 1].Text = y;
txtbx[i, 2].Text = z;
OleDbCommand cmmd = new OleDbCommand("INSERT INTO JointTrace (JointNumber, X,Y,Z) Values("
+ i.ToString() + ", " + x.ToString() + ", " + y.ToString() + ", " + z.ToString() + ")", conn);
cmmd.ExecuteNonQuery();
}
}
else if (skeleton.TrackingState == SkeletonTrackingState.PositionOnly)
{
//txtbk.Text += skeleton.Joints[0].Position.ToString() + "\r\n";
}
}
}
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
sensor.SkeletonStream.Disable();
sensor.Stop();
conn.Close();
}
}
4. Example
Example
1. Try to get skeleton raw data in a few statements.
2. Procedure
2-1 Add reference
2-2 using namespace
2-3 add data into a Access data table
3. Coding
// 1. Add Ref, using
using Microsoft.Kinect;
using System.Data.OleDb;
namespace WPFSkeletonRaw
{
/// <summary>
/// MainWindow.xaml 的互動邏輯
/// </summary>
public partial class MainWindow : Window
{
// 2.
KinectSensor sensor;
OleDbConnection conn = new OleDbConnection();
public MainWindow()
{
InitializeComponent();
// 3.
sensor = KinectSensor.KinectSensors[0];
sensor.SkeletonStream.Enable();
sensor.SkeletonFrameReady += sensor_SkeletonFrameReady;
sensor.Start();
sensor.ElevationAngle = 10;
conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database1.accdb";
conn.Open();
for (int i = 0; i < 20; i++)
for (int j = 0; j < 3; j++)
{
TranslateTransform TR = new TranslateTransform(j * 100, i * 30);
txtbx[i, j] = new TextBox();
txtbx[i, j].Width = 90;
txtbx[i, j].Height = 25;
txtbx[i, j].RenderTransform = TR;
Can1.Children.Add(txtbx[i, j]);
}
}
TextBox[,] txtbx = new TextBox[20, 3];
void sensor_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
{
Skeleton[] skeletons = new Skeleton[0];
using (SkeletonFrame skeletonFrame = e.OpenSkeletonFrame())
{
if (skeletonFrame != null)
{
skeletons = new Skeleton[skeletonFrame.SkeletonArrayLength];
skeletonFrame.CopySkeletonDataTo(skeletons);
}
}
foreach (Skeleton skeleton in skeletons)
{
if (skeleton.TrackingState == SkeletonTrackingState.Tracked)
{
//DrawTrackedSkeletonJoints(skeleton.Joints);
for (int i=0; i<20; i++)
{
string x, y, z;
x = skeleton.Joints[(JointType)i].Position.X.ToString();
y = skeleton.Joints[(JointType)i].Position.Y.ToString();
z = skeleton.Joints[(JointType)i].Position.Z.ToString();
txtbx[i, 0].Text = x;
txtbx[i, 1].Text = y;
txtbx[i, 2].Text = z;
OleDbCommand cmmd = new OleDbCommand("INSERT INTO JointTrace (JointNumber, X,Y,Z) Values("
+ i.ToString() + ", " + x.ToString() + ", " + y.ToString() + ", " + z.ToString() + ")", conn);
cmmd.ExecuteNonQuery();
}
}
else if (skeleton.TrackingState == SkeletonTrackingState.PositionOnly)
{
//txtbk.Text += skeleton.Joints[0].Position.ToString() + "\r\n";
}
}
}
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
sensor.SkeletonStream.Disable();
sensor.Stop();
conn.Close();
}
}
4. Example
Example
2013年12月25日 星期三
Kinect 1.8 中文辨識
1. Kinect 1.8 ShapeGame 無法中文辨識(已載入中文引擎)
2. 問題
private static RecognizerInfo GetKinectRecognizer()
{
Func<RecognizerInfo, bool> matchingFunc = r =>
{
string value;
r.AdditionalInfo.TryGetValue("Kinect", out value);
return "True".Equals(value, StringComparison.InvariantCultureIgnoreCase) && "en-US".Equals(r.Culture.Name, StringComparison.InvariantCultureIgnoreCase);
};
return SpeechRecognitionEngine.InstalledRecognizers().Where(matchingFunc).FirstOrDefault();
}
將en-US 改為 zh-TW 傳回 null
3. Check 我的系統有3個InstalledRecognizers, 第2個為zh-TW
4. 改用
return SpeechRecognitionEngine.InstalledRecognizers()[1];
可進行中文辨識。
5. 或改用
private static RecognizerInfo GetKinectRecognizer()
{
RecognizerInfo SPE = SpeechRecognitionEngine.InstalledRecognizers()[0];
for (int i = 0; i < SpeechRecognitionEngine.InstalledRecognizers().Count; i++)
{
if (SpeechRecognitionEngine.InstalledRecognizers()[i].Culture.Name == "zh-TW")
{
SPE = SpeechRecognitionEngine.InstalledRecognizers()[i];
break;
}
}
return SPE;
}
2. 問題
private static RecognizerInfo GetKinectRecognizer()
{
Func<RecognizerInfo, bool> matchingFunc = r =>
{
string value;
r.AdditionalInfo.TryGetValue("Kinect", out value);
return "True".Equals(value, StringComparison.InvariantCultureIgnoreCase) && "en-US".Equals(r.Culture.Name, StringComparison.InvariantCultureIgnoreCase);
};
return SpeechRecognitionEngine.InstalledRecognizers().Where(matchingFunc).FirstOrDefault();
}
將en-US 改為 zh-TW 傳回 null
3. Check 我的系統有3個InstalledRecognizers, 第2個為zh-TW
4. 改用
return SpeechRecognitionEngine.InstalledRecognizers()[1];
可進行中文辨識。
5. 或改用
private static RecognizerInfo GetKinectRecognizer()
{
RecognizerInfo SPE = SpeechRecognitionEngine.InstalledRecognizers()[0];
for (int i = 0; i < SpeechRecognitionEngine.InstalledRecognizers().Count; i++)
{
if (SpeechRecognitionEngine.InstalledRecognizers()[i].Culture.Name == "zh-TW")
{
SPE = SpeechRecognitionEngine.InstalledRecognizers()[i];
break;
}
}
return SPE;
}
訂閱:
文章 (Atom)








