×

置顶 本站原创软件与资源

2020年勇哥的机器视觉实验项目清单(大纲)

勇哥,很想停止 勇哥,很想停止 发表于2020-04-10 浏览32943 评论3
下面的清单算是对勇哥的工业自动化职业生涯中有关机器视觉方面的总结。它是勇哥看到过的一些项目,以及对应的知识点的盘点。勇哥缺少工匠精神,许多认识不深入,浮于表面,大叔级别的人了对待学习还是有点浮燥,造成许多知识点勇哥也是一知半解,希望借着这个贴子内容的梳理、和相关的实验的开展,不断的提升自己的知识深度,最重要一点是形成一种有规划的学习模式,节省时间提升效率。本贴的内容做为大纲,实际的实验内容勇哥会不断更新贴子出来。所以就将本贴置顶吧。(一) 单相机标定(1)halcon的标定助手 &nb
勇哥的免费视频教程清单

置顶 本站开源软件与资源

勇哥的免费视频教程清单

勇哥,很想停止 勇哥,很想停止 发表于2021-02-01 浏览22193 评论1
“少有人走的路”www.skcircle.com《勇哥的机器视觉》免费视觉教学系列免费视频勇哥会不定期更新,希望观赏后各位能给出宝贵意见。视频中所用图片素材以及源码等资料,在本站QQ群(98596273)中发布。视频也在B站发布,播放地址为:https://space.bilibili.com/1150123755?from=search&seid=5789841158140412090你也可以订阅本站微信公众号《勇哥的机器视觉》接收最新视频的更新消息。免费视频教程清单:————————
快速入门:使用 Visual Studio 创建和发布 NuGet 包

版本控制

快速入门:使用 Visual Studio 创建和发布 NuGet 包

勇哥,很想停止 勇哥,很想停止 发表于2018-10-05 浏览4909 评论0
从 Windows 上 Visual Studio 中的 .NET Standard 类库创建 NuGet 包,然后使用 CLI 工具将其发布到 nuget.org,这是一个很简单的过程。备注本快速入门教程仅适用于 Visual Studio 2017 for Windows。 Visual Studio for Mac 不包括此处所述的功能。 改为使用 dotnet CLI 工具。系统必备通过任何与 .NET 相关的工作负载从 visualstudio.
程序员,伤不起的三十岁

哲学与人生

程序员,伤不起的三十岁

勇哥,很想停止 勇哥,很想停止 发表于2018-10-05 浏览3700 评论0
程序员干到30岁,好不容易从码奴混到了白领,却再也干不动了,还时时面临失业的危险。30岁,是一个程序员伤不起的年龄。明天,何去何从?一.30岁现象在官场上,曾经有一个59岁现象,就是官员们会在59岁时,会使劲捞上一把。很明显嘛,权力过期作废,再不捞就要退休了,没有机会了。在程序员的圈子里,也有一个30岁现象。当然,如果你有铁饭碗,比如在国企或政府机关,那你是无法理解底层劳动人民的感受的。同时也要恭喜你成为体制内的一员,可以一直干到退休无忧。30岁现象人人都明白,但要给出一个定义并不容易。列举几个
发布自己的类库到NuGet

版本控制

发布自己的类库到NuGet

勇哥,很想停止 勇哥,很想停止 发表于2018-10-05 浏览3310 评论0

 NuGet是一个为大家所熟知的Visual Studio扩展,通过这个扩展,开发人员可以非常方便地在Visual Studio中安装或更新项目中所需要的第三方组件,同时也可以通过NuGet来安装一些Visual Studio的插件等。作为一名开发人员,您可能也会开发一些公共组件以供他人使用,本文将一步步介绍如何以最简单的方式将自己所开发的类库包发布到nuget上,以供更多的人使用。

  

  使用NuGet发布自己的类库包(Library Package)步骤:

STEP 1:注册并获取API Key

首先,你需要到NuGet上注册一个新的账号,然后在My Account页面,获取一个API Key,这个过程很简单,我就不作说明了。

STEP 2:下载NuGet.exe

NuGet有个命令行工具:NuGet.exe;为了方便使用,请设置机器的PATH环境变量【exe所在目录】,将NuGet.exe的路径添加到PATH中。

在http://nuget.codeplex.com/releases页面底部找到NuGet.exe,点击下载即可

STEP 3:设置API Key

CMD使用以下命令设置NuGet API Key:

nuget setApiKey <my_api_key>

记得将上面的my_api_key替换为STEP 1中获得的API Key。

STEP 4:开发自己的类库

上面我们新建了一个类库:DaxnetNugetTest,并通过NuGet添加了对Castle.Core的引用,现在我们添加一些代码,来使用Castle.Core所提供的一些功能。我们将Class1.cs改名为CastleHelper.cs,此时也会将Class1类改名为CastleHelper。在CastleHelper.cs中写入以下代码:

public class CastleHelper
{    public static Castle.Core.Pair<int, int> GetIntPair()
    {        return new Castle.Core.Pair<int, int>(20, 30);
    }
}

然后,打开AssemblyInfo.cs文件,将assembly的属性设置好,记得再设置一下AssemblyVersion特性,以指定我们类库的版本。目前我们使用1.0.0.0版本:

[assembly: AssemblyTitle("DaxnetNugetTest")]
[assembly: AssemblyDescription("Daxnet's test of the NuGet.")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("daxnet")]
[assembly: AssemblyProduct("DaxnetNugetTest")]
[assembly: AssemblyCopyright("Copyright © daxnet 2013")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: Guid("20662b9f-91de-4515-9c8c-ced3d61589e1")]
[assembly: AssemblyVersion("1.0.0.0")]

全部设置好以后,编译整个项目待用。

STEP 5:产生并修改nuspec

nuspec是NuGet将项目打包成nupkg的输入文件,可以通过nuget spec命令产生。在命令提示符下,进入DaxnetNugetTest.csproj文件所在目录,然后执行:

1
nuget spec

此时会提示创建成功:


用notepad打开DaxnetNugetTest.nuspec文件,把需要替换的信息替换掉,不需要的tag全部删掉,注意里面的$xxx$宏,这些就是引用了AssemblyInfo.cs中的设置值,在编译产生package的时候,会使用AssemblyInfo.cs中的相应值进行替换。完成编辑后,我们的nuspec文件如下:

<?xml version="1.0"?>
<package >
  <metadata>
    <id>$id$</id>
    <version>$version$</version>
    <title>$title$</title>
    <authors>$author$</authors>
    <owners>$author$</owners>
    <licenseUrl>http://www.apache.org/licenses/LICENSE-2.0.html</licenseUrl>
    <projectUrl>http://apworks.org</projectUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>$description$</description>
    <releaseNotes>First release</releaseNotes>
    <copyright>Copyright 2013</copyright>
  </metadata>
</package>

注意两点:1、$description$使用AssemblyDescriptionAttribute的值进行替换,在产生package之前,一定要记得先编译项目,否则会提示$description$找不到的错误;2、releaseNotes如果没有,就直接删掉这个节点,如果有,则填入自己的内容,不要使用默认内容,否则会在下一步产生警告信息。

STEP 6:产生类库包

同样在DaxnetNugetTest.csproj路径下,使用下面的命令产生NuGet类库包:

nuget pack DaxnetNugetTest.csproj

成功后,提示:


注意:由于我们的项目通过NuGet引用了Castle.Core,因此,它将会作为一个依赖组件(dependency)打包到产生的nupkg文件中。

另外,NuGet会使用默认的项目配置所产生的程序集进行打包。如果项目默认是Debug,而你需要用Release打包,则使用下面的命令:

nuget pack DaxnetNugetTest.csproj -Prop Configuration=Release

 

STEP 7:发布类库包

现在,通过以下命令发布类库包:

nuget push DaxnetNugetTest.1.0.0.0.nupkg

完成以后,出现以下提示:

各大主流.Net的IOC框架性能测试比较

C#/.net框架

各大主流.Net的IOC框架性能测试比较

勇哥,很想停止 勇哥,很想停止 发表于2018-10-05 浏览5154 评论0
 转载自:  https://www.cnblogs.com/xcsn/p/4390340.html在上一篇中,我简单介绍了下Autofac的使用,有人希望能有个性能上的测试,考虑到有那么多的IOC框架,而主流的有:Castle Windsor、微软企业库中的Unity、Spring.NET、StructureMap、Ninject等等。本篇文章主要针对这些IOC框架编写测试程序。 Autofac下载地址:http://code.google.com/p/autof
IoC框架

C#/.net框架

IoC框架

勇哥,很想停止 勇哥,很想停止 发表于2018-10-05 浏览2563 评论0
 --------------------- 本文来自 王泽宾 的CSDN 博客 :https://blog.csdn.net/wanghao72214/article/details/3969594?utm_source=copy 1 IoC理论的背景    我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。如果我们打开机械式手表的后盖,就会看到与上面类

C#/.net框架

Log4net在类库中的用法

勇哥,很想停止 勇哥,很想停止 发表于2018-10-05 浏览5604 评论1
一、使用Log4net具体流程如下:第一步:引用类库  使用VS的nuget包管理器引用log4net第二步:创建配置文件方法一、独立配置文件  在类库中添加一个log4net的配置文件,起名:log4net.config,设置此文件的属性复制到输出目录为:始终复制。注意这一项很重要。<?xml version="1.0" encoding="utf-8" ?> <configuration> &n

C#/.net框架

C#开源系统大汇总

勇哥,很想停止 勇哥,很想停止 发表于2018-10-05 浏览3988 评论0
C#开源系统大汇总目录导航一、AOP框架        Encase 是C#编写开发的为.NET平台提供的AOP框架。Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式。这种部署方面(aspects)的方法帮助缺少经验的开发人员提高开发效率。        NKalore是一款编程语言,它扩展了C#允许在.net平台使用AOP