资源简介
C#是.net平台上的明星语言,可以很容易做出漂亮的界面。EmguCV是将opencv封装的一个.net库可以被VC++,VC#,VB.net调用。网上对于EmguCV的介绍很少,本人整理了一些资料Emgu和C#相结合的一些例子,对大家的学习一定会有帮助
代码片段和文件信息
//----------------------------------------------------------------------------
// Copyright (C) 2004-2018 by EMGU Corporation. All rights reserved.
//----------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Drawing.Printing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Emgu.CV;
using Emgu.CV.Aruco;
using Emgu.CV.CvEnum;
using Emgu.CV.Structure;
using Emgu.CV.Util;
namespace Aruco
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
_detectorParameters = DetectorParameters.GetDefault();
try
{
_capture = new VideoCapture();
if (!_capture.IsOpened)
{
_capture = null;
throw new NullReferenceException(“Unable to open video capture“);
}
else
{
_capture.ImageGrabbed += Processframe;
}
}
catch (NullReferenceException excpt)
{
MessageBox.Show(excpt.Message);
}
UpdateMessage(String.Empty);
}
private VideoCapture _capture = null;
private bool _captureInProgress;
private bool _useThisframe = false;
int markersX = 4;
int markersY = 4;
int markersLength = 80;
int markersSeparation = 30;
private Dictionary _dict;
private Dictionary ArucoDictionary
{
get
{
if (_dict == null)
_dict = new Dictionary(Dictionary.PredefinedDictionaryName.Dict4X4_100);
return _dict;
}
}
private GridBoard _gridBoard;
private GridBoard ArucoBoard
{
get
{
if (_gridBoard == null)
{
_gridBoard = new GridBoard(markersX markersY markersLength markersSeparation ArucoDictionary);
}
return _gridBoard;
}
}
private void printArucoBoardButton_Click(object sender EventArgs e)
{
Size imageSize = new Size();
int margins = markersSeparation;
imageSize.Width = markersX * (markersLength + markersSeparation) - markersSeparation + 2 * margins;
imageSize.Height = markersY * (markersLength + markersSeparation) - markersSeparation + 2 * margins;
int borderBits = 1;
Mat boardImage = new Mat();
ArucoBoard.Draw(imageSize boardImage margins borderBits);
bmIm = boardImage.Bitmap;
PrintImage();
}
private void PrintImage()
{
PrintDocument pd = new PrintDocument();
//pd.DefaultPageSettings.Margi
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 184 2018-07-11 21:37 Emgu.CV.Example\Aruco\App.config
文件 4260 2018-07-11 21:37 Emgu.CV.Example\Aruco\Aruco.csproj
文件 9580 2018-07-11 21:37 Emgu.CV.Example\Aruco\MainForm.cs
文件 4986 2018-07-11 21:37 Emgu.CV.Example\Aruco\MainForm.Designer.cs
文件 5698 2018-07-11 21:37 Emgu.CV.Example\Aruco\MainForm.resx
文件 483 2018-07-11 21:37 Emgu.CV.Example\Aruco\Program.cs
文件 1386 2018-07-11 21:37 Emgu.CV.Example\Aruco\Properties\AssemblyInfo.cs
文件 2653 2018-07-11 21:37 Emgu.CV.Example\Aruco\Properties\Resources.Designer.cs
文件 5496 2018-07-11 21:37 Emgu.CV.Example\Aruco\Properties\Resources.resx
文件 1036 2018-07-11 21:37 Emgu.CV.Example\Aruco\Properties\Settings.Designer.cs
文件 242 2018-07-11 21:37 Emgu.CV.Example\Aruco\Properties\Settings.settings
文件 2997 2018-07-11 21:37 Emgu.CV.Example\CameraCapture\CameraCapture.cs
文件 5029 2018-11-22 15:15 Emgu.CV.Example\CameraCapture\CameraCapture.csproj
文件 15900 2018-07-11 21:37 Emgu.CV.Example\CameraCapture\CameraCapture.Designer.cs
文件 5695 2018-07-11 21:37 Emgu.CV.Example\CameraCapture\CameraCapture.resx
文件 5632 2018-11-22 18:54 Emgu.CV.Example\CameraCapture\CameraCapture.v11.suo
文件 457 2018-11-22 15:12 Emgu.CV.Example\CameraCapture\CommonAssemblyInfo.cs
文件 180 2018-11-22 15:15 Emgu.CV.Example\CameraCapture\obj\Debug\CameraCapture.CameraCapture.resources
文件 1281 2018-11-22 18:54 Emgu.CV.Example\CameraCapture\obj\Debug\CameraCapture.csproj.FileListAbsolute.txt
文件 782 2018-11-22 15:14 Emgu.CV.Example\CameraCapture\obj\Debug\CameraCapture.csproj.GenerateResource.Cache
文件 19429 2018-11-22 14:57 Emgu.CV.Example\CameraCapture\obj\Debug\DesignTimeResolveAssemblyReferences.cache
文件 6970 2018-11-22 15:15 Emgu.CV.Example\CameraCapture\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 12800 2018-11-22 15:15 Emgu.CV.Example\CameraCapture\obj\Debug\Example.CameraCapture.exe
文件 19968 2018-11-22 15:15 Emgu.CV.Example\CameraCapture\obj\Debug\Example.CameraCapture.pdb
文件 331432 2018-01-14 01:32 Emgu.CV.Example\CameraCapture\obj\Debug\x64\concrt140.dll
文件 31313920 2018-10-15 19:02 Emgu.CV.Example\CameraCapture\obj\Debug\x64\cvextern.dll
文件 2429582 2018-10-15 19:02 Emgu.CV.Example\CameraCapture\obj\Debug\x64\cvextern.lib
文件 641696 2018-01-14 01:32 Emgu.CV.Example\CameraCapture\obj\Debug\x64\msvcp140.dll
文件 18054144 2018-10-15 18:27 Emgu.CV.Example\CameraCapture\obj\Debug\x64\opencv_ffmpeg343_64.dll
文件 87728 2018-01-14 01:32 Emgu.CV.Example\CameraCapture\obj\Debug\x64\vcruntime140.dll
............此处省略355个文件信息
相关资源
- c#与西门子1500通讯
- 基于opencv的模板匹配代码
- opencv图片扫描以及校正
- opencv手部轮廓识别以及轨迹识别
- opencv2 3D标定.cpp
- 基于opencv漫水填充算法综合
- c++调用C# COM 参数是结构体数组
- opencv激光中心线的提取
- OpenCV Computer Vision Application Programming
- 基于图割的图像分割OpenCV+MFC实现
- CTP上期技术平台API及C#封装更新到CT
- 识别魔方颜色
- opencv版俄罗斯方块源码
- VS2013 / MFC + OpenCV 2.4.9实现视频的播放
- 粒子滤波器+目标跟踪的C++实现,VS2
- 张平OpenCV算法精讲基于python和C++教材
- C#神思二代身份证读卡程序 demo
- 虹膜识别开源代码OSIRIS4.1基于opencv
- C#调用百度地图获取经纬度
- 03 C#与C++dll互相传递字符串.rar
- c# 华大HD900身份证阅读器操作类
- 即时通讯开发源码终极版C#.NETC++都有
- Sift特征点提取与匹配opencv库
- YCbCr、混合高斯以及YCbCg肤色检测模型
- 光流法代码
- OpenCV打开摄像机显示在MFC窗口工程源
- C#C++混合编程C#调用非托管C++类
- c#图书管理系统+详细数据库设计文档
- Visual Studio 2010 Express 学习版
- C++调用C#库例程
评论
共有 条评论