REF: https://julialang.org/downloads/
julia-1.6.3-win64.exe
Add julia path
Hello world
1) interactive hello world (println)
2) Create ex1.jl
copy con ex1.jl
println("hello world.")
ctrl+z
julia ex1.jl
REF: https://julialang.org/downloads/
julia-1.6.3-win64.exe
Add julia path
Hello world
1) interactive hello world (println)
2) Create ex1.jl
copy con ex1.jl
println("hello world.")
ctrl+z
julia ex1.jl
REF:
1)https://www.emgu.com/wiki/index.php/License_Plate_Recognition_in_CSharp
2)https://github.com/fasetto/license-plate-recognition/blob/master/src/LPlateRecognition.UI/ViewModels/MainViewModel.cs
Windows 10 x64 @ ASUS X450
Visual Studio 2019
建置程序
1) New FormApp
2) Nuget
emgu.cv 3.4.3.3016
Tesseract.Net SDK 1.18.342
3) Add class (Ref:1)
REF: http://ferris2014.blogspot.com/2016/06/opencv-emgu-mat-to-image-image-to-mat.html
Mat to image, image to Mat, image to imagebox, imagebox to image, Mat to imagebox, imagebox to Mat
1. Mat to image
_img = _mat.ToImage<bgr, Byte>();
2. image to Mat
_mat = _img.Mat;
3. image to imagebox
imagebox1.Image=_img;
4. imagebox to image
_img = new Image<bgr, byte>(imageBox1.Image.Bitmap)
5. Mat to imagebox
imagebox1.Image=_mat;
6. imagebox to Mat
(Step4 + Step2)
_img= new Image<bgr, byte>(imageBox1.Image.Bitmap).Mat;
REF: https://zh.m.wikibooks.org/zh-tw/CMake 入門/簡單的範例
1. Windows 10 x64 @ ASUS X450J
2. Prepare files
REF:https://medium.com/ching-i/intel-openvino%E4%BB%8B%E7%B4%B9%E8%88%87%E5%AE%89%E8%A3%9D%E6%95%99%E5%AD%B8-15b07473d998
1. Register Intel Account
2. Download full package
3. Install
npm install --global --production windows-build-tools --vs2015
--------- Run DemoGet Started with OpenVINO™ Toolkit on Windows* - OpenVINO™ ToolkitPowershell./demo_security_barrier_camera -d CPUcd "C:\Program Files (x86)\Intel\openvino_2021\deployment_tools\demo"
1. Windows 10 x64 @ ASUS X450J
2. Visual Studio 2019
3. Install Microsoft Access Database Engine 2010 可轉散發套件
https://www.microsoft.com/zh-tw/download/details.aspx?id=13255
4. Northwind.xls (Customer Sheet)
Ex1 Console (.NET Framework)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace oledbEx1
{
using System.Data;
using System.Data.OleDb;
class Program
{
static void Main(string[] args)
{
DataTable DT = OleDbGetTable("SELECT * FROM [Customers$]", "Northwind.xlsx");
Console.WriteLine(DT.Rows.Count);
Console.ReadLine();
}
static public DataTable OleDbGetTable(string SQL, string path1)
{
DataSet DS = new DataSet();
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path1 + ";Extended Properties='Excel 12.0 Xml; HDR = YES';");
conn.Open();
OleDbDataAdapter apt = new OleDbDataAdapter(SQL, conn);
apt.Fill(DS);
conn.Close();
return DS.Tables[0];
}
}
}
Ex2 Form (.NET Framework)
namespace FormEx1
{
using System.Data.OleDb;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
DataGridView dataGridView1 = new DataGridView();
this.Controls.Add(dataGridView1);
dataGridView1.Dock = DockStyle.Fill;
DataTable DT = OleDbGetTable("SELECT * FROM [Customers$]", "Northwind.xlsx");
dataGridView1.DataSource = DT.DefaultView;
}
public DataTable OleDbGetTable(string SQL, string path1)
{ ...}
}
}
Ex3 Form (.NET Core 3.x)
nuget Add System.Data.OleD
Ex4 WPF (.NET Framework)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WPFEx1
{
using System.Data.OleDb;
using System.Data;
/// <summary>
/// MainWindow.xaml 的互動邏輯
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataGrid dataGridView1 = new DataGrid();
Grid G1 = new Grid();
this.Content = G1;
G1.Children.Add(dataGridView1);
DataTable DT = OleDbGetTable("SELECT * FROM [Customers$];", "Northwind.xlsx");
dataGridView1.ItemsSource = DT.DefaultView;
}
public DataTable OleDbGetTable(string SQL, string path1)
{... }
}
}
Ex5 WPF (.NET Core 3.x)
nuget Add System.Data.OleD
Ex6 Web (.NET Framework)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApp1
{
using System.Data;
using System.Data.OleDb;
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataGrid dataGridView1 = new DataGrid();
form1.Controls.Add(dataGridView1);
DataTable DT = OleDbGetTable("SELECT * FROM [Customers$];", Server.MapPath("Northwind.xlsx"));
dataGridView1.DataSource = DT.DefaultView;
dataGridView1.DataBind();
}
public DataTable OleDbGetTable(string SQL, string path1)
{ ... }
}
}
1. Ref add Microsoft.Kinect 1.8
2. xaml
<Window x:Class="WPFCam1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WPFCam1"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Rectangle Width="320" Height="240">
<Rectangle.Fill>
<ImageBrush x:Name="image1">
</ImageBrush>
</Rectangle.Fill>
</Rectangle>
</Grid>
</Window>
3. C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WPFCam1
{
using Microsoft.Kinect;
/// <summary>
/// MainWindow.xaml 的互動邏輯
/// </summary>
public partial class MainWindow : Window
{
private KinectSensor sensor;
private WriteableBitmap colorBitmap;
private byte[] colorPixels;
public MainWindow()
{
InitializeComponent();
sensor = KinectSensor.KinectSensors[0];
this.sensor.ColorStream.Enable(ColorImageFormat.RgbResolution640x480Fps30);
// Allocate space to put the pixels we'll receive
this.colorPixels = new byte[this.sensor.ColorStream.FramePixelDataLength];
// This is the bitmap we'll display on-screen
this.colorBitmap = new WriteableBitmap(this.sensor.ColorStream.FrameWidth, this.sensor.ColorStream.FrameHeight, 96.0, 96.0, PixelFormats.Bgr32, null);
// Set the image we display to point to the bitmap where we'll put the image data
this.image1.ImageSource = this.colorBitmap;
this.sensor.ColorFrameReady += this.SensorColorFrameReady;
// Start the sensor!
this.sensor.Start();
}
private void SensorColorFrameReady(object sender, ColorImageFrameReadyEventArgs e)
{
using (ColorImageFrame colorFrame = e.OpenColorImageFrame())
{
if (colorFrame != null)
{
// Copy the pixel data from the image to a temporary array
colorFrame.CopyPixelDataTo(this.colorPixels);
// Write the pixel data into our bitmap
this.colorBitmap.WritePixels(
new Int32Rect(0, 0, this.colorBitmap.PixelWidth, this.colorBitmap.PixelHeight),
this.colorPixels,
this.colorBitmap.PixelWidth * sizeof(int),
0);
}
}
}
}
}