自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 Halcon12 使用Halcon的Engine直接执行程序无需写外部代码

先丢Wpf页面出来照例丢代码 反正注释写的清楚namespace HalconWpf_Engine{ /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { #region...

2019-04-23 08:23:17 4999 6

原创 Halcon 简单的圆拟合

直接贴代码输入图像read_image(Iamge,'')*读取图像invert_image(Iamge, ImageInvert)*反转threshold(ImageInvert, Region1, 40, 255)*二值化boundary (Region1, RegionBorder, 'inner')*取得边界*clip_region_rel (RegionBorder...

2019-04-17 22:24:10 10549

原创 C# 委托 delegate Action Func

个人理解就是说我现在有一个方法需要实现 但是我还没有想好 可是我知道我需要输入的参数和输出的类型那么我就可以使用委托的方式先写在这里后面在补上三种方式1、delegate2、Action3、FuncFirst:delegate 需要提前声明 delegate void Something(int a);我知道一个函数输入一个int类型的参数无返回类型我可以在主函数之前del...

2019-04-14 23:53:57 337

原创 C# 接口 Interface使用和在其中使用索引器

C#中的接口提供了一种实现运行时的多态。通过接口可以使用相同接口的引用来访问实现相同接口的不同类的方法,其实是使用虚方法通过相同的引用调用相同基础的不同的类。接口的定义: interface IBaseInterface { int Dowork(int a, int b); int this[int index] { get; set; } }...

2019-04-14 22:30:12 315

原创 Halcon与C#简单编程 3、一个简单的Demo

一个读取图片显示到Halcon空间并进行二值化操作的Demo代码:namespace Halcon_test{ public partial class Form1 : Form { HWindow Window; HFramegrabber Framegrabber; HImage Img=new HImage(); ...

2019-04-14 21:16:08 1387

原创 Halcon与C#混合编程 2、简单调用

新建WPF添加引用引用空间名using HalconDotNet;右键工具栏添加控件halcondotnetxl.dll拖到窗口并添加一个button下面的代码是通过一个string字符串地址读取一张图片通过Halcon窗口输出using System;using System.Collections.Generic;using System.Linq;using Sys...

2019-04-10 22:28:03 931

原创 Halcon与C#混合编程 1、基础

加急 突然告诉我要用halcon和C#暂时可能要缓缓写Opencv了Halcon版本12(科学版Orz)+VS2015+win10halcon安装和vs安装不说了 网上一大堆Halcon 基本元素Halcon有两种基本的参数 : 数据 (图像image,区域Regions,轮廓XLD) 控制数据(整数,字符串,句柄等)Image:1.图像的主要部分是通道,即包含各种像素类型的灰度值的...

2019-04-09 22:47:54 894

原创 Opencv回顾--直方图统计和直方图均衡化

主要函数直方图计算void calcHist(const Mat* images, int nimages, const int* channels, InputArray mask, OutputArray hist, int dims, const int* histSize, const float** ranges, bool uniform=true, bool accumulate...

2019-04-07 22:39:10 728

原创 Opencv回顾--Roi和掩膜操作

主要函数构建Roi的两种方式1)使用Rect函数,指定矩形的左上角坐标和矩形的长宽来定义一个矩形区域作为ROI区域; Rect rect(cx - 100, cy - 100, 200, 200); //先建立一个矩形 Mat roi = src(rect);2)利用Range来指定感兴趣的行和列的范围,Range是指从初始索引到终止索引的(不包括终止索引)的一段连续序列; Mat ...

2019-03-28 22:19:25 1011

原创 Opencv回顾--形状绘制

形状绘制主要函数基础点定义一个点Point(int x, int y) Point pt1(20,30);Point pt2;pt2.x = 20;pt2.y = 30;Point pt = Point(10, 8);Point2f:2維浮點數點類別,通常用於幾何計算,用法和Point雷同,只是x和y是浮點數。Point3i、Point3f、Point3d代表3維點x、y...

2019-03-27 22:43:11 263

原创 Opencv回顾--图像操作之反转*通道分离*缩放

主要函数翻转图像cv::flip(src, dst, flipCode); src 输入数组。 dst 输出与src大小和类型相同的数组。 flipCode 一个标志,指定如何翻转数组; 0表示绕x轴翻转正值翻转(例如,1)表示绕y轴翻转。负值(例如,-1)表示翻转围绕两个轴。通道分离void cvSplit(const CvArr* src,CvArr *dst0...

2019-03-26 22:55:09 348

原创 Opencv回顾--查找表(look up table)

简单的来说就是由于需要对图片的每个值进行操作而遍历又太过于耗时通过对应的表来显示会加快速度和方便操作主要api函数:CV_EXPORTS_W void applyColorMap(InputArray src, OutputArray dst, int colormap);参数: 输入图像 输出图像 需要改变的模式colormap 枚举对应的类型 COLORMAP_AUTUMN...

2019-03-23 19:05:26 391

原创 Opencv回顾--图像的加减与或操作

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

2019-03-22 23:15:42 1267

原创 Opencv回顾--Mat类赋值像素级操作进行颜色反转

Mat赋值和创建: Mat A = imread("images/test.png"); Mat B=A;赋值 Mat C=A.clone(); 克隆 Mat D; A.copyTo(D);复制 // 创建空白图像 Mat E= Mat::zeros(A.size(), A.type()); 创建矩阵 Mat F = Mat::zeros(Size(512, 512),...

2019-03-21 23:55:12 1320

转载 Opencv回顾--视频操作

主要 函数 类VideoCapture 类 存储视频文件初始化方式:VideoCapture();VideoCapture(const string& filename);VideoCapture(int device);bool VideoCapture::open(const string& filename);bool VideoCapture::open(i...

2019-03-20 23:43:24 230

原创 Opencv回顾--图像的读写+颜色空间转换

OpenCv 读写图片将图像文件读入内存,可以使用 imread()函数。将 Mat 对象以图像文件格式写入内存,可以使用 imwrite() 函数。一、读取图像文件imread()函数返回的是 Mat 对象,如果读取文件失败,则会返回一个空矩阵, 即为 NULL。执行 imread()之后,需要检查文件是否成功读入,防止后续操作对一个空矩阵进行,可以使用 empty() 函数进行检查。im...

2019-03-19 23:04:36 458

原创 Opencv回顾--基础模块

core:核心模块,主要包含了OpenCV中最基本的结构(矩阵,点线和形状等),以及相关的基础运算/操作。imgproc:图像处理模块,包含和图像相关的基础功能(滤波,梯度,改变大小等),以及一些衍生的高级功能(图像分割,直方图,形态分析和边缘/直线提取等)。highgui:提供了用户界面和文件读取的基本函数,比如图像显示窗口的生成和控制,图像/视频文件的IO等。如果不考虑视...

2019-03-19 22:33:20 195

原创 Opencv回顾——环境配置

vs2015+Opencv4.0一、Opencv的下载官方下载:链接:https://sourceforge.net/projects/opencvlibrary/files/4.0.0/opencv-4.0.0-vc14_vc15.exe/download下载完成后直接点击exe执行,进行安装会得到一个opencv文件夹。下载完成了,接下来就进行环境的配置。我安装的是在D:\Open...

2019-03-13 15:37:31 149

原创 STL库--list

STL中的list就是一双向链表,可高效地进行插入删除元素。1、list构造函数 std::list&amp;lt;int&amp;gt; L0; // 空链表 std::list&amp;lt;int&amp;gt; L1(9); // 建一个含个默认值0是的9元素的链表 //链表内容0.0.0.0.0.0.0.0.0.0 std::list&amp;lt;int&amp;gt; L2(5, 1); // 建一...

2019-03-11 23:52:42 221

原创 Halcon读取板卡配置文件

不能使用带中文路径会显示错误

2019-03-11 10:44:31 357

原创 STL库---vector

定义:1、vector是表示可变大小数组的序列容器。2、就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。3、本质讲,vector使用动态分配数组来存储它的元素。当新元素插入时候,这个数组需要被重新分配大小为了增加存储空间。其做法是,分配一个新...

2019-03-10 23:38:55 189

原创 检测到无法访问的代码

这个提示是告诉你,你的程序永远不会执行这一句代码也就是说,在现在的情形下,被提示的部分是个不必要的存在检查下代码,如果不是很必要的话就删了吧看给出的代码,break是中断循环,如果你只要执行一次,那使用循环是没必要的…如果你要一直循环下去,break就是多余了(break一般来说都放在循环里面的条件判断里面…) return param; ...

2019-03-05 11:08:11 1187

原创 字符类型操作 集合 随时添加

首先,在datagridview获取到值aaabbb,放到str中,textbox1.text=str.substring(0,3);textbox2.text=str.substring(3,3);substring(第一参数,第二参数)//第一参数:从第几位开始截,初始是从0位开始第二参数:截取几位如果你不会获取值aaabbb:...

2019-03-05 11:01:47 139

原创 C# 读取XML文件进行操作

首先基础点 XMLNode:此类表示文档树中的一个节点。如果这个节点表示XML文档的根,就可以从它导航到文档的任意位置。 XMLNodeList:该类表示一个节点的集合。 XmlDocument:它常常是使用XML的第一个对象,因为这个类用于加载和保存磁盘或者其他地方的数据。 XmlElement:它表示XML文档中的一个元素。 XmlText:表示开标记和闭标记之间的文本。...

2019-03-04 00:12:11 335

转载 C#写XML文件

XML文件XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间...

2019-02-28 23:23:55 1693

原创 C#通过picturebox显示图片和控件显示视频

操作环境 win10+vs2015添加空间的话picturebox基本是自带的 media play需要在左侧工具栏右键选择项 —com组件里面添加windows media play(位置比较靠后直接往后拖)添加后左侧工具栏—公共空间会出现 windows media play空间可以拖到form1添加的控件如图下剩下的我就直接把代码发上来using System;using S...

2019-02-28 08:47:49 7503 1

原创 C#索引器

索引器索引器:允许类或结构的实例就像数组一样进行索引。 无需显式指定类型或实例成员,即可设置或检索索引值。 索引器类似于属性,不同之处在于它们的访问器需要使用参数。1、使用索引器可以用类似于数组的方式为对象建立索引。2、get 取值函数返回值。 set 取值函数分配值。3、this 关键字用于定义索引器。4、value 关键字用于定义 set 索引器所赋的值。5、索引器不必根据整数值进...

2019-02-28 00:27:57 217

转载 多线程的同步处理

线程同步是指同一进程中的多个线程互相协调工作从而达到一致性。之所以需要线程同步,是因为多个线程同时对一个数据对象进行修改操作时,可能会对数据造成破坏。C++ 11支持mutex,通过mutex可以方便的对临界区域加锁,std::mutex类定义于mutex头文件,是用于保护共享数据避免从多个线程同时访问的同步原语。它提供了lock,try_lock,unlock等几个接口,功能如下:&lt;...

2019-02-21 00:53:16 165

转载 调用windows API实现多线程

调用windows API实现多线程//最简单的创建多线程实例#include &lt;stdio.h&gt;#include &lt;windows.h&gt;//子线程函数DWORD WINAPI ThreadFun(LPVOID pM){ printf("子线程的线程ID号为:%d\n子线程输出Hello World\n", GetCurrentThreadId()); r...

2019-02-20 22:07:00 877

原创 C++ thread 实现多线程

都是看别人博客慢慢记下来的进程和线程进程进程是指在系统中正在运行的一个应用程序;程序一旦运行就是进程线程是进程的一个实体。线程进程——资源分配的最小单位,线程——程序执行的最小单位。区别在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线...

2019-02-19 00:12:42 560

原创 回调函数

搞好了好久想重新复习一遍C/C++ 不知道 怎么复习 干脆就慢慢把一些知识点放到这边就当复习了也是边看别人博客边写什么是回调函数:在我的理解当中只要是把函数作为参数输入的函数就是回调函数。官方:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在...

2019-02-17 21:24:51 275

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除