[置顶]python知识导航贴,持续更新

[置顶]C# 语言高级特性知识导航贴,持续更新

[置顶]netMarketing类库: 类库说明

[置顶]本站视觉相关教程整理贴子,持续更新

[置顶]C++相关导航贴,持续更新

[置顶]本站收费服务公告(netMarketing源码,工业自动化行业培训班等)

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

[置顶]本站连载贴子系列,持续更新中……

[置顶]勇哥的免费视频教程清单

[置顶]勇哥在B站发布的视频清单

[置顶]运动控制专题,持续更新

opencv3.1学习笔记(8) 绘制形状与文字

绘制形状比较简单,基本上没啥子好说的,见代码。演示代码:#include <opencv2/opencv.hpp> #include <iostream> using namespace std; using namespace cv; Mat bgImage; const char* drawdemo_win = "draw shapes and...

opencv3.1学习笔记(7) 亮度对比度

演示代码:#include <opencv2/opencv.hpp> #include <iostream> #include <math.h> using namespace cv; int main(int argc, char** argv) { Mat src, dst; src = imread("e:/5.png&q...

opencv3.1学习笔记(6) 图像混合

图像混合的原理理论-线性混合操作其中 a的取值范围为0~1之间对应的opencv算子是 addWeighted()参数1:输入图像Mat – src1参数2:输入图像src1的alpha值参数3:输入图像Mat – src2参数4:输入图像src2的alpha值参数5:gamma值参数6:输出混合图像注意点:两张图像的大小和类型必须一致才可以演示代码:#include <opencv2/op...

opencv学习笔记——sobel

学习sobel总结:先说下边缘,在图像上像素发生跃迁的的地方。如何捕捉边缘:对图像进行一阶求导,▲ = f(x)-f(x-1),▲的值越大,那么说明x方向边缘信号越强烈。 下图图我们可以看见像素值明显发生改变,表示这一现象可以用导数,变化率越大,说明像素值改变越显著f(x)为图像像素值的函数图,f'(t)为f(t)的一阶导数,即当前像素减去上一个像素的差值,可以看到红圈标注的地方,即边缘信...

OPENCV中的Sobel函数

sobel算子是一种常用的边缘检测算子,是一阶的梯度算法。对噪声具有平滑作用,提供较为精确的边缘方向信息,边缘定位精度不够高。当对精度要求不是很高时,是一种较为常用的边缘检测方法。它进行处理的模板如下:其中,Gx是横向的算子,Gy是纵向的算子。原图像记为f,则GX = Gx*fGY = Gy*fGx =-1*f(x-1, y-1) + 0*f(x,y-1) + 1*f(x+1,y-1)+(-2)*...

OpenCV之bitwise_and、bitwise_not等图像基本运算及掩膜

1.图像基本运算图像的基本运算有很多种,比如两幅图像可以相加、相减、相乘、相除、位运算、平方根、对数、绝对值等;图像也可以放大、缩小、旋转,还可以截取其中的一部分作为ROI(感兴趣区域)进行操作,各个颜色通道还可以分别提取及对各个颜色通道进行各种运算操作。总之,对于图像可以进行的基本运算非常的多,只是挑了些常用的操作详解。void add(InputArray src1, InputArray s...

opencv3.1学习笔记(5) 安全读写像素

利用Mat对象的像素数组指针来修改图片,是老司机玩的,新手的话可以采用一些安全访问的办法。见下面的代码。演示代码:#include <opencv2/opencv.hpp> #include <iostream> #include <math.h> using namespace cv; using namespace std; int main(...

OpenCV代码中常见的vector操作是什么?

一、What is vector? vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.用法:1.文件包含: 首先在程序开头处加上#include<vector>以包含所需要的类文件vector,还有一定要加上using...

如何在代码中区分OpenCV版本 如何区分是OpenCV2还是OpenCV3

1、C++OpenCV在C++中的版本号在<opencv2/core/version.hpp>里面,贴出部分和版本相关的定义// opencv2 #define CV_VERSION_EPOCH 2 #define CV_VERSION_MAJOR 4 #define CV_VERSION_MINOR 13 #define CV_VERSION_REVISIO...

opencv3.1学习笔记(4) Mat对象介绍

Mat对象介绍Mat对象是从OpenCV2.0引入的对象,处理的对象其实是二维像素数组。就像OpenCV官方教程中说的,下图中的车在CCD中看到的其实是一个二维的数组。Mat这个对象集成了一些操作这个数组数据的方法。最初的opencv版本中,和Mat功能相似的是数据结构 lIplImage。lIplImage是从2001年OpenCV发布之后就一直存在,是C语言风格的数据结构, 需要开发者自己分...

opencv启动USB摄像头并保存图片的代码

勇哥的测试平台是vs2019+opencv3.1,下面的代码可用。功能是打开usb摄像头,并保存每帧图片。#include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/core/core.hpp> #include<ios...

opencv3.1学习笔记(3) 矩阵的掩膜操作

下面的代码实现图像对比度的调整。效果见后面的图片。其实勇哥认为这个实现的是图片锐化效果,如果用photoshop来做对比,实现的就是锐化滤镜的效果。而photoshop的对比度效果与这个是是不同的。代码说明:(1)注释的代码用来操作图片中的像素。这也是数据类型Mat的一个功能。CV_Assert(myImage.depth() == CV_8U); Mat.ptr<uchar>(...

opencv3.1学习笔记(2) 加载、修改颜色空间、保存图像

先上代码:#include <opencv2/opencv.hpp> #include <iostream> #include <math.h> using namespace cv; int main(int argc, char** argv) { Mat src, dst; src = imread("e:/3.png&q...

opencv3.1学习笔记(1) opencv介绍,环境搭建

在官网 www.opencv.org 上下载 这是一个比较老的版本。本系列学习笔记使用的这个版本。下面是opencv的简单介绍。下面说明一下opencv加上vc++开发环境的配置。首先按下面的说明添加vc++的库,包含目录,依赖项。这里勇哥使用的是vs2019集成环境下的vc++。接下来用一段代码验证一下opencv开发环境是否搭建成功。#include <opencv2/opencv.h...

C#中out和ref的区别

引言:勇哥今天发现自己对out,ref的区别居然没有理解很透彻,只知道它们都是传地址方式进行工作的,并且ref需要进入前初始化,而out是在离开前必须被赋值。为了让代码更加规范,有必要把两者的特性详细了解一下。首先,俩者都是按地址传递的,使用后都将改变原来参数的数值。其次,ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值...

WF 从入门到精通(第十五章):工作流和事务

学习完本章,你将掌握:1.了解传统的事务模型以及这种模型在哪些地方适合去使用,哪些地方不适合使用2.懂得在哪些地方不适合传统的事务以及什么时候是补偿事务的恰当时机3.看看怎样回滚或补偿事务4.看看怎样修改默认的补偿顺序如果你是写软件的,你迟早需要去理解事务处理。事务处理(transactionalprocessing)在这个 意义上是指写那些把信息记录到一个持久化资源的软件,这些持久化资源如数据库...

WF 从入门到精通(第十四章):基于状态的工作流

学习完本章,你将掌握:1.理解状态机的概念以及它怎样被模拟到工作流处理中的2.创建基于状态的工作流3.运用初始(initial)和终止(terminal)状态条件4.使用代码进行状态的切换在第四章“活动和工作流类型介绍”中,我阐述过你使用WF 所能创建的工作流类型,在那里我提到过基于状态的工作流。基于状态的工作流模型被认为是有限自动机(finitestate machine)。基于状态的工作流在工...

WF 从入门到精通(第十三章):打造自定义活动

学习完本章,你将掌握:1.了解对于创建一个功能齐全的自定义工作流活动来说哪些组件是必须的2.创建基本的自定义工作流活动3.在基本的自定义工作流活动中应用验证规则4.把基本的自定义工作流活动集成到Microsoft Visual Studio 的工作流视图设计器和工具箱中WF 并不可能涵盖到你可能在你的工作流中想要实现的各个方方面面。即使WF 对于开发社区来说仍是非常新的技术,但目前已经可以获得许多...

WF 从入门到精通(第十二章):策略和规则

学习完本章,你将掌握:1.知道在工作流处理过程中怎样进行策略和规则的处理2.理解前向链接以及这是如何影响到基于规则的工作流处理过程的3.为工作流处理过程创建规则4.结合Policy 活动来使用规则我敢肯定,我们中的大多数人编写面向过程的代码(imperative code)都很轻松自在。过程式代码指通过编程来实现业务处理过程的C#代码,例如,读取一个数据库表,增加这个表中某些列的值,然后把它们统统...

勇哥谈谈C#中的接口Interface的常用套路

勇哥带大家回顾一下面向对象编程和设计模式的精髓概念。面向对向程序的三大特征:封装,隐藏内部实现继承,复用现有代码多态,改写对象行为设计模式的核心思想:(1)设计模式最根本的意图是适应需求的变化。(2)编码应采用高内聚低耦合设计思想(3)针对接口编程,而不要针对实现编程(4)优先使用聚合,而不是继承(5)坚持开闭原则(OCP)注: 内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做...

固定相机先拍后取料,标定后对位方式一(含原理与代码)

所谓标定后的对位方式,指的是应用标定的结果进行实践取放料的方法。标定只是负责准确的把视觉坐标系中的每个点正确的映射到机器人坐标系中的对应的唯一坐标上去。而标定后的对位则是负责准确取放过程的实现方法。本文讨论的的标定后对位方法一,适合固定位拍照的视觉系统。它的动作方式是:机器人走避让位,CCD拍照视觉求出机器人的修正坐标,机器人修正姿式机器人取料,在放料位走一个固定的示教点进行放料在这个过程中,CC...

Visionpro系列教程(三)C#中利用Visionpro控件显示图片

勇哥在装完Visionpro8.3后,vs2013中的C#环境中工具中,就会出现Visionpro的各类控件。(但是在vs2017中却没有出现控件,可能是因为8.3版太老的原因吧?!)我们新建一个.net winform的工程,把CogRecordDisplay控件拖到窗体上面。然后敲入下面代码:using Cognex.VisionPro.ImageFile; using System; u...

WPF与Winform互操作:彼此窗体互相调用

WPF与Winform互操作[1]Winform调用WPF窗体创建Winform应用程序项目。打开VS2013,文件->新建->项目...,新建一个Windows窗体应用程序项目,项目名称为“Winform调用WPF窗体”。为Form1添加一个按钮,用于打开WPF窗体。创建待调用的WPF窗体。为解决方案添加一个WPF应用程序项目,右键解决方案,添加->新建项目,创建一个WPF应用...

基于OpenCVSharp的图像处理软件

目录1 任务与目的2 方案总体设计3 C#界面设计4 OpenCVSharp功能实现5 打包与运行6 总结1 任务与目的本次任务是设计一个能够实现OpenCV部分功能的图像处理软件。目的在于方便图像处理人员在具体编写OpenCV程序前,提前能够对图像进行简单处理,进而帮助开发人员分析该如何对图像进行处理。使用C#对界面和逻辑进行开发。界面开发的工具有很多,例如使用C++与QT进行开发。OpenCV...

OpenCvSharp初探

最近接了个小毕设,要求用winform调用OpenCV识别一些简单的物件。网上关于调用DLL的文看的我一头雾水,而且也知道有类似OpenCV的C#接口的计算机视觉库,也就直接去了解这方面了。EmguCV应该是比较早且之前比较出名的C#版OpenCV,目前项目有507个stars。然而另一个日本人编写的类库已经有1200+的stars,并且在Visual Studio中下载量也已经超过了OpenCv...

五种常见软件开源协议介绍-GPL、LGPL、BSD、Apache、MIT

前言:勇哥从事的自动化设备行业,如今大金主们都越来越重视软件著作权问题。 例如某行业龙头自2019年开始就特别强调设备供应商们应该提交设备软件的视觉平台是什么? 是否有正版授权的加密狗? 等等要求…… 另一方面,企业从利润上考虑,又希望软件成本尽量降低。 因此,我们对于像一些开源的视觉类库之类的,在使用之前,一定要了解它是基于何种开源协议, 以便正确选择,避免法律纠纷。软件开源是许多软件...

vs编辑器中工程文件列表中那个红对勾图标是干什么用的?

有同事问起过这个问题。确实在有些代码中会见到文件名前面有这样的图标,见下图所示:但是有些工程却没有这些图标,比如下面的工程:勇哥听到这个问题,想了一下,确实之前见过这些图标,当时没有仔细这个。再一想,不就是在编辑netMarketing类库的工程时见过这个吗?原来有版本控制的工程,就会有这种图标。通常被git接管的代码,其目录下都有隐藏文件夹.git。见下图。-------------------...

Visionpro系列教程(二)应用程序向导

勇哥说下流程:(1) 启动应用程序向导。启动向导后的项目如下:下面的说明勇哥只谈重要的内容,其它的项目“下一步”即可。(2)这里你可以选择QuickBuild创建的工程,下面使用visionPro带的演示工程 : E:\Program Files\Cognex\VisionPro\samples\ApplicationWizard\QuickBuild2Jobs\QuickBuild2Jobs....

measure_pos报错 Wrong value of control parameter 4

勇哥之前写的一篇文章《Halcon学习(27-2)halcon测量技术:找线》里那段找线的代码,经常会报measure_pos的第4个参数报错。measure_pos的调用如下面这样: measure_pos (Image, MeasureHandle1, sigma, thresold, transition, select, RowEdge, ColumnEdge, Amplitude, Di...

WF 从入门到精通(第十一章):并行活动

学习完本章,你将掌握:1.理解在工作流环境中Parallel 活动是怎样执行的,并且懂得如何使用它们2.并行执行路径中的同步数据存取和临界代码区3.使用ConditionedActivityGroup 活动去执行根据条件表达式判断执行路径的并行活动在本书中截止目前为止,我们仅仅处理过顺序业务流程。如活动A 执行后转到活动B 的执行等等。我们还没看到过并行执行路径和由此通常伴随而来的错综复杂的情况。...
会员中心
搜索
«    2020年1月    »
12345
6789101112
13141516171819
20212223242526
2728293031
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864