自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 康耐视VisionPro+C#程序编写

康耐视Visionpro创建模板基础程序知识

2023-11-02 16:18:11 695

原创 03C++零基础第三天--函数的提高(函数的默认参数、函数的占位参数、函数重载、函数重载注意事项)

4、函数重载注意事项。

2023-03-21 18:19:30 134

原创 03C++零基础第三天--引用(引用的基本使用、引用做函数的返回值、引用的本质、常量的引用)

a,b,c输出均为20。3、引用做函数的返回值。4、引用做函数的返回值。

2023-03-21 17:51:16 130

原创 03C++零基础第三天--程序的内存得到分区模型

返回局部变量地址会出现乱码。

2023-03-21 10:38:13 95

原创 02C++零基础第二天--指针(结构体、结构体数组、结构体指针、结构体嵌套结构体、结构体作函数参数、结构体中const使用场景)

1、结构体重用指针传递是为了节省空间:相比于值传递传递整个结构体,指针只传递4的字节。2、加const防止误操作,不会更改外面的数据。6、结构体中const使用场景。4、结构体嵌套结构体。5、结构体作函数参数。

2023-03-20 16:58:34 42

原创 02C++零基础第二天--指针(指针和数组、指针和函数)

3、指针、数组、函数。

2023-03-20 15:59:37 44

原创 02C++零基础第二天--指针(定义与使用、所占内存空间、空指针和野指针、const修饰指针)

在32位操作系统下均占有4字节。在64位操作系统下均占有8字节。4、const修饰指针。

2023-03-20 15:33:02 52

原创 02C++零基础第二天--函数(定义、调用、值传递、声明定义、分文件编写)

值传递的时候,形参发生任何的改变,都不会影响实参。

2023-03-20 10:42:58 53

原创 02C++零基础第一天--一维数组,冒泡排序,二维数组

冒泡排序二维数组。

2023-03-20 10:05:41 30

原创 01C++零基础第一天--跳转语句(break、continue、goto)

continue继续下一次循环、break奇数循环。2、continue语句。输出奇数,不输出偶数。

2023-03-19 21:00:18 44

原创 01C++零基础第一天--三目运算符

三目运算符三目运算可以赋值。

2023-03-19 20:45:45 43

原创 01C++零基础第一天--程序流程结构(if选择结构、switch语句、while循环、do while循环、for循环)

1、选择结构。

2023-03-19 19:43:18 36

原创 01C++零基础第一天--运算符(算术运算符、赋值运算符、比较运算符、逻辑运算符)

取模运算(余数计算)

2023-03-19 19:30:50 41

原创 01C++零基础第一天--变量、常量、关键字及标识符、数据类型

变量存在的意义:方便我们管理内存空间:给一段指定的内存空间起名,方便操作这段内存。float double 默认情况下 输出一个小数,会显示出6位有效数字。变量创建的语法: 数据类型 变量名=变量初始值;\t一共占8个字符,起到对齐效果,整齐输出数据。

2023-03-19 11:45:45 35

转载 RNN循环神经网络

神经网络基础神经网络可以当做是能够拟合任意函数的黑盒子,只要训练数据足够,给定特定的x,就能得到希望的y,结构图如下:将神经网络模型训练好之后,在输入层给定一个x,通过网络之后就能够在输出层得到特定的y,那么既然有了这么强大的模型,为什么还需要RNN(循环神经网络)呢?RNN结构首先看一个简单的循环神经网络如,它由输入层、一个隐藏层和一个输出层组成:我们现在这样来理解,如果把上面有W的那个带箭头的圈去掉,它就变成了最普通的全连接神经网络。x是一个向量,它表示输入层的值(这里面没有画出来表示神经元节

2021-07-14 18:39:52 298

原创 监督学习和无监督学习

机器学习有一类学习方法叫做监督学习,它是说为了训练一个模型,我们要提供这样一堆训练样本:每个训练样本既包括输入特征,也包括对应的输出(也叫做标记,label)。也就是说,我们要找到很多人,我们既知道他们的特征(工作年限,行业…),也知道他们的收入。我们用这样的样本去训练模型,让模型既看到我们提出的每个问题(输入特征),也看到对应问题的答案(标记)。当模型看到足够多的样本之后,它就能总结出其中的一些规律。然后,就可以预测那些它没看过的输入所对应的答案了。另外一类学习方法叫做无监督学习,这种方法的训练样本中只

2021-07-14 17:28:27 167

原创 人工智能、机器学习和深度学习的概念及关系

1、人工智能、机器学习和深度学习的概念及关系人工智能、机器学习和深度学习的概念在近些年十分火热,但很多从业者也难以说清它们之间的关系,外行人更是雾里看花。学习深度学习,需要先从三个概念的正本清源开始。三者覆盖的技术范畴是逐层递减的,人工智能是最宽泛的概念,机器学习则是实现人工智能的一种方式,也是目前较有效的方式。深度学习是机器学习算法中最热的一个分支,在近些年取得了显著的进展,并代替了多数传统机器学习算法。所以,三者的关系可用下图表示,人工智能>机器学习>深度学习。**人工智能概念:**

2021-07-07 19:21:35 4091

转载 Halcon深度学习—奇异值检测

该方法属于无监督式的深度学习方法,优点:1 无需标注2 只训练正样本3 可以在CPU下进行训练4 具有较快的推断速度适用场景:适合缺陷较为明显的项目注意:设置的ImageWidth、ImageHeight ,以及自己采的图,尽量是32的倍数精确率和召回率说明召回率(recall) == 92.1%,意味着ok图中7.9%被预测为ng精确率(precision) =79.8%,意味着被认为是ok的图中有20.2%的ng图,即ng容易被检测成ok主对角线数值越大越好,副对角线数值越小越

2021-07-06 16:33:05 1033

原创 深度学习在图像处理中的应用

目前为止,图像处理已成为深度学习中重要的研究领域,几乎所有的深度学习框架都支持图像处理工具。当前深度学习在图像处理领域的应用可分为三方面:图像处理(基本图像变换)、图像识别(以神经网络为主流的图像特征提取)和图像生成(以神经风格迁移为代表)。本文第一部分介绍深度学习中图像处理的常用技巧,第二部分浅析深度学习中图像处理的主流应用,最后对本文内容进行简要总结。一.深度学习中图像处理的常见技巧目前几乎所有的深度学习框架均支持图像处理工具包,包括Google开发的Tensorflow、Microsoft的CNT

2021-06-29 19:45:10 8508 6

原创 边缘检测、导数与边缘、什么是梯度

边缘检测问题是我们该怎么办?我们如何计算? 要算出图像中的像素。像素是某个位置x y,实际上是一个边缘像素。也就是说它落在边缘上或者是边缘的一部分。思考这个问题,我们必须回到图像作为函数的概念。这是我们的喜剧女演员:这是同一个函数的两种不同表示。一个只是碰巧以图片的形式呈现给你,所以你习惯了看到它,尽管它很吓人。另一个是这个高度图,高度与强度成正比。如图:很明显的是这些边,这是她脸旁边的边缘。实际上是一个陡峭的悬崖在旁边,在那个函数:我们要从根本上寻找的是图像函数中的这些急剧变

2021-06-22 19:09:27 967 5

转载 缺陷特征及特征选择概念及方法简介

传统的表面缺陷检测算法最主要的关键和难点是如何提取出良好的特征描述子并且设计出合适的分类器。特征描述实则为一种图像数据降维方式,将以像素为单位的图像表达为特征描述,是后续缺陷识别的重要环节,其主要思想是使得同类缺陷描述相似,不同类缺陷或者缺陷和背景之间的特征差异较大。常用的特征包括几何特征、灰度特征和纹理特征。几何特征缺陷通常具有面积、椭圆度、线性度、矩形度、周长等几何特征,因此可以采用几何特征描述缺陷,几何特征主要分为两种:简单描述子,包括边界的长度、区域的面积、外接矩形长宽比等;形状描述子,包括

2021-06-15 18:58:31 1561

原创 高斯滤波器理解

高斯滤波器是空间滤波器的一种,学习高斯滤波器,需要空间滤波的知识作为先验知识(各种数字图像处理的书中都有介绍,冈萨雷斯的经典教材说的还是比较清楚的,建议看英文版,个人感觉比翻译过来的更容易理解)。高斯滤波的模板是用高斯公式计算出来的。下面是一维和二维高斯分布函数及其函数图像:一维高斯分布函数:二维高斯分布函数:它们的图像分别为:那么高斯滤波模板是怎么生成的呢?是通过二维高斯函数计算出来的。例如,我们假设一个高斯模板的长、宽均为5,方差为0.5,那么首先,我们要在模板上建立一个坐标系,其原点

2021-06-08 19:26:10 3944

原创 Opencv常用图像处理函数汇总

1、blur2、GaussianBlur3、medianBlur4、bilateralFilter5、腐蚀和膨胀6、morphologyEx高级形态学变换7、convertScaleAbs图像增强8、Sobel9、Laplacian10、Scharr11、Canny该部分主要提到的函数包括各种滤波、膨胀、腐蚀、开运算、闭运算等。本次博文将以Lena图作为使用例子进行演示。1、blurblur用于图像的均值滤波,调用方式如下:blur(src, dst, Size(3, 3))

2021-06-01 16:09:17 1510 1

原创 OpenCV常见基本函数、方法

1、基本库函数cv2.imread(filepath,flags) #读入一张图像filepath:要读入图片的完整路径flags:读入图片的标志cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道cv2.IMREAD_GRAYSCALE:读入灰度图片cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道cv2.imshow(wname,img) #显示图像第一个参数是显示图像的窗口的名字第二个参数是要显示的图像(i

2021-06-01 15:44:50 6615 1

原创 Halcon:threshold阈值分割相关算子总结

(1) fast threshold(mage: Region: MinGray, MaxGray, Minsize:) ①算子描述: 全局阈值,此算子与threshold类似,只是多了一个輸入参数MinSize :提取对象的最小尺寸(2) gray histo(Regions, Image : : : AbsoluteHisto, RelativeHisto)histo to thresh (RelativeHisto. Siama. MinThresh. MaxThresh

2021-05-25 18:47:29 1029

原创 Opencvsharp—matchshape算子实现简单的形状匹配

算子:matchShapes( InputArray contour1, InputArray contour2, int method, double parameter )(1)参数1是待匹配轮廓或者灰度图像(2)参数2同参数1(3)比较参数1和2相似度的方法,opencv提供了三种如下: CV_CONTOURS_MATCH_I1 CV_CONTOURS_MATCH_I2 CV_CONTOURS_MATCH_I3(4)

2021-05-18 20:38:54 3981

原创 OpenCvSharp海康相机在pictureBox中显示——图像转成Mat,并在pictureBox中显示

Mat srcImage; private Mat CaptureImage() { int nRet; //MyCamera.MVCC_INTVALUE stParam = new MyCamera.MVCC_INTVALUE(); UInt32 nPayloadSize = 0; nRet = m_pMyCamera.MV_CC_...

2021-05-18 17:08:26 2485 1

原创 opencv学习——Moments()函数,计算物体形状方向

opencv中的矩主要包括以下几种:空间矩,中心矩和中心归一化矩。class Moments { public: …// 空间矩double m00, m10, m01, m20, m11, m02, m30, m21, m12, m03;// 中心矩double mu20, mu11, mu02, mu30, mu21, mu12, mu03;// 中心归一化矩 double nu20, nu11, nu02, nu30, nu21, nu12, nu03;}**针对一幅图像,我们把像素的

2021-05-11 19:31:53 6598 2

原创 傅里叶变换频谱图亮点,亮线的理解

2021-05-06 09:42:26 1791 1

原创 Matlab图像的二维傅里叶变换频谱图特点研究

一、先放一些相关的结论:1、傅里叶变换的幅值称为傅里叶谱或频谱。2、F(u)的零值位置与“盒状”函数的宽度W成反比。3、卷积定理:空间域两个函数的卷积的傅里叶变换等于两个函数的傅里叶变换在频率域中的乘积。f(t)*h(t) <=> H(u)F(u)4、采样定理:如果以超过函数最高频率的两倍的取样率来获得样本,连续的带限函数可以完全地从它的样本集来恢复。5、严重的混淆甚至会产生完全的误解效果。6、变化最慢的频率分量(u=v=0)与图像的平均灰度成正比。直流项决定图像的平均灰度。7、零

2021-05-06 09:38:20 6211

原创 select_shape的Feature详解

‘area’:Area of the object目标的面积‘row’:Row index of the center中心行的索引‘column’:Column index of the center中心列的索引‘width’:Width of the region区域的宽度‘height’:Height of the region区域的高度‘row1’:Row index of upper left corner左上角的行索引‘column1’:Column inde

2021-04-21 19:31:35 324

原创 Halcon二维仿射变换实例探究

二维仿射变换,顾名思义就是在二维平面内,对对象进行平移、旋转、缩放等变换的行为(当然还有其他的变换,这里仅论述这三种最常见的)。Halcon中进行仿射变换的常见步骤如下:① 通过hom_mat2d_identity算子创建一个初始化矩阵(即[1.0, 0.0, 0.0, 0.0, 1.0, 0.0]);② 在初始化矩阵的基础上,使用hom_mat2d_translate(平移)、hom_mat2d_rotate(旋转)、hom_mat2d_scale(缩放)等生成仿射变换矩阵;(这几个算子可以叠加或者

2021-04-19 08:12:49 183

原创 detect_mura_defects_blur.hdev例程解析

this example shows how to detect mura defectsin blurred imagesdev_close_window ()dev_update_off ()Path := ‘C:/Users/shang/Desktop/新建文件夹2/Image_’read_image (Image, Path + ‘01’)get_image_size (Image, Width, Height)dev_open_window_fit_size (0, 0, Wi.

2021-04-12 21:26:11 179

转载 Halcon算子—find_shape_model参数解析及优化

find_shape_model(Image : : ModelID, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness : Row, Column, Angle, Score)find_shape_model(Image : : //搜索图像ModelID, //模板句柄AngleStart, // 搜索时的起始角度AngleExtent, //搜索时的角度范围,必

2021-03-31 18:43:40 5684

原创 Halcon算子—create_shape_model参数解析及优化

create_shape_model(Template : : //reduce_domain后的模板图像NumLevels ,//金字塔的层数,可设为“auto”或0—10的整数AngleStart ,//模板旋转的起始角度AngleExtent ,//模板旋转角度范围, >=0AngleStep ,//旋转角度的步长, >=0 and <=pi/16Optimization ,//设置模板优化和模板创建方法Metric , //匹配方法设置Contrast ,//设置

2021-03-31 13:50:21 11196

原创 winform零基础学习(十一)—C# Winform窗体(类)之间传值的多种方法浅析

摘要一般的工程都是多个form组成的,各个窗体之间经常要灵活的传递数据。下面分享一点自己的经验:窗体传值的方法有很多,下面仅介绍我用过的一些,不知道官方叫这些什么方法,大家也可以找找看其他的。一、通过构造器传值这是最简单的一种方式,例如我从form1中要传一个字符串去form2首先,在form2的构造器中稍作修改: public Form2(String s) { InitializeComponent(); t

2021-03-30 19:22:46 3126

原创 C#自学43一C#的4种参数:一般参数,REF 参数,OUT 参数,参数数列

方法中的参数分为实际参数和形式参数,实际参数被称为实参,是在调用方法时传递的参数;形式参数被称为形参,是在方法定义中所写的参数。public int Add(int a,int b){ return a+b;}在上面的方法定义中,a 和 b 是形式参数。在 Print 调用方法时使用如下代码:public void Print(){ Add(3,4);}在调用 Add 方法时传递的参数 3 和 4 即为实际参数。在 C# 语言中,方法中的参数除了定义数据类型外,还可以定

2021-03-30 16:15:25 573

原创 C#23种设计模式—模板模式

模式的定义与特点模板方法(Template Method)模式的定义如下:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式。该模式的主要优点如下。1.它封装了不变部分,扩展可变部分。它把认为是不变部分的算法封装到父类中实现,而把可变部分算法由子类继承实现,便于子类继续扩展。2.它在父类中提取了公共的部分代码,便于代码复用。3.部分方法是由子类实现的,因此子类可以通过扩展方式增加相应的功能,符合开闭原则。

2021-03-30 15:38:34 760

原创 winform零基础学习(十)—dataGridView(基本用法+获得选中单元的值及其行列索引+删除行)

当我们在窗体中使用表格时会发现,在编辑每一列的列标题后,第一例为空白,如图所示。那如何把第一列的空白给去掉呢?其实,第一列空白为每行的行标题,当我们不需要的时候,右击控件选择属性,找到RowHeadersVisible改为False即可。同样道理,第一行也是每一列的列标题,再不需要显示的时候找到属性中的CoulmnHeadersVisible改为False即可。要想向表格中添加数据可以使用Colunms和Rows属性。 private void Form1_Load(object

2021-03-18 10:40:41 1390

原创 设计模式理解——七大设计原则的概念与实现方法

对于设计模式理解请看另一篇博文,本文章直接讲七大原则一、单一职责原则单一职责原则的定义单一职责原则。这里的职责是指类变化的原因,单一职责原则规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分(There should never be more than one reason for a class to change)。该原则提出对象不应该承担太多职责,如果一个对象承担了太多的职责,至少存在以下两个缺点:1、一个职责的变化可能会削弱或者抑制这个类实现其他职责的能力;2、当客户端需要该

2021-02-24 16:28:24 322

空空如也

空空如也

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

TA关注的人

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