自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)
  • 资源 (6)
  • 收藏
  • 关注

原创 C# 程序没有任何地方错误启动时说有错误解决办法

无报错,无法启动办法

2023-07-20 08:47:58 236 2

原创 QT7联合Modbus(TCP)读写PLC数据——全网最完整

B站视频、CSDN“找宝贝”、度娘、博客园、Github找了好久关于QT联合Modbus(TCP)读写PLC数据的知识真就没有一个能从头到尾讲下来这个知识的,可能有也是我能力有限疏忽了,但是我能力范围内真就没有能把这个事儿说明白的,我自己通过学习CSDN前人的QT5里面读写PLC的知识和B站大佬讲解两个PLC之间TCP通讯,举一反三,硬把他们联系到一起,费话不多少,直接分享我的经验。不知道为啥首先添加新设备(我这个PLC只能用4.2版本的,其他版本不好用,有懂哥可以留言告诉弟弟,感谢)其次设置IP地址 访问

2022-06-11 22:37:44 6824 3

原创 Qt调用海康相机实时显示

一、配置环境变量这一步真的是翻烂了CSDN最终还是通过下载一位大佬的原码最终解决了,马上分享给大家首先把海康的库目录和包含目录复制到Qt的工程文件下,自己新建的两个文件夹分别存放包含和库。然后在pro文件中添加如下代码LIBS += -L$$PWD/Hik_Libs/ -lMvCameraControlINCLUDEPATH += $$PWD/Hik_IncludesDEPENDPATH += $$PWD/Hik_Includes至此海康环境配置完成..

2022-05-17 22:21:37 5980 89

原创 Qt配置Opencv(无cmake)

新建的Qt一定要库文件包含路径重启Qt代码编写#include "widget.h"#include "ui_widget.h"#include <opencv2/opencv.hpp>using namespace cv;Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget){ ui->setupUi(this); ...

2022-04-27 22:30:11 3145

原创 Qt调用C++动态链接库--导出类

经过多次尝试,Qt调用C++生成的动态链接库导出类,只能是多态类型的类导出DLL的方法参考这篇文章C++生成DLL动态链接库1.生成导出类#pragma once#ifndef DLL_IMPORT#define API __declspec(dllexport)#else#define API __declspec(dllimport)#endifclass API InterfaceClass{public: virtual int add(int a, int b

2022-04-27 10:12:08 3641 1

原创 VS2019-C++创建和调用DLL动态链接库(傻瓜式教程)

前言:查了好久好久网上的资料C++调用动态链接库,试了好多方法(直接创建DLL、空项目创建的)都多多少少有些问题,最后自己不断摸索着成功了,还是很开心的,接下来把最清晰的步骤分享给大家(C++新人,有什么说的不清楚的还请大佬们见谅)第一步:创建C++空项目第二步:创建头文件(.h)以及源文件(.cpp)第三步:编写头文件(重点)图片显示部分是模板,名称可以自己起最重要的就是__declspec(dllexport)以及__declspec(dllimport)。一个是导出,一..

2022-04-26 11:44:32 25332 23

原创 Qt资源文件添加

把需要的文件放入这个文件夹中随便起一个别名全选使用

2022-04-19 21:58:53 136

原创 OpenCV入门函数API解析

一切图像皆MatcvtColor:用于将图像从一个颜色空间转换到另一个颜色空间的转换(目前常见的颜色空间均支持),并且在转换的过程中能够保证数据的类型不变,即转换后的图像的数据类型和位深与源图像一致。 cvtColor(image, hsv, COLOR_BGR2HSV, 0);//H 0-180 S,V 0-255 h,s是控制颜色 V控制亮度. InputArray src: 输入图像即要进行颜色空间变换的原图像,可以是Mat类. OutputArray dst: 输出图像即进行颜.

2022-03-18 15:36:08 5741

原创 OpenCV-C++环境配置

1.右击项目->属性2.VC++目录3.包含目录点编辑4.点新建文件夹->点三个点->把以下两个文件添加进去5.返回目录点击库目录->点编辑->点新建文件夹->点三个点->把以下文件添加进去6. 链接器->附加依赖项->编辑->找到以下路径把第一个没有d的文件的名字全部复制到编辑里面7.全部设置完点确定8. 右击我的电脑->属性->高级系统设置->环境变量->系统.

2022-03-03 19:01:37 3904

原创 C# DLL封装代码引用

首先其次然后接下来直接用搞定。

2021-12-31 22:25:11 212

原创 关于工业相机相同相机不同测量距离下视觉坐标研究

工业相机坐标系研究

2021-12-30 15:39:26 1787

原创 OpenCV-python轮廓提取与模板匹配

算子'''contours:轮廓信息 hierarchy:层级信息'''contours, hierarchy = cv.findContours(thresh, cv.RETR_TREE, cv.CHAIN_APPROX_NONE)# 这里的第二个参数不是第一是一个集合 所以不用中括号# -1就是所有轮廓都画 BGR什么颜色的笔res = cv.drawContours(draw_img, contours, -1, (0, 0, 255), 2) # 面积print(cv

2021-11-22 16:10:12 2910

原创 OpenCV-Python读图以及预处理

算子# 读取彩色图imgcai = cv.imread("D:/1.png", cv.IMREAD_COLOR)# 读取灰度图imghui = cv.imread("D:/1.png", cv.IMREAD_GRAYSCALE)# 保存cv.imwrite("C:/Users/ASUS/Desktop/111.png", imghui)# 显示图片cv.imshow(name, img)# 等待时间然后消失,0表示按任意键终止cv.waitKey(0)cv.destroyA

2021-11-19 21:26:06 2229

原创 Python以及pycharm安装OpenCV的方法

第一步:WIN+R第二部:输入cmd第三步:直接复制粘贴pip install opencv-python -ihttps://pypi.tuna.tsinghua.edu.cn/simple这是安装完成的,之后重启电脑。第四步:打开pycharm第五步:cmd安装cv完成没有opencv-python这一项(我是pycharm安装完成之后出现的)第六步:点击加号+等待安装完成最下面会显示绿色的安装成功英文字样注:如果安装不成功复制粘贴py...

2021-11-19 20:48:30 8847 6

原创 C++运算符重载、友元、继承、多态、文件操作

一、运算符重载1.加号运算符定义operator+()下面直接用+即可2.左移运算符ostream& operator<<(ostream& cout, zuoyi& z) 下面直接用3.递增运算符 //前置++重载 dizeng& operator++()//返回引用是因为 一直对一个做操作 { NUM++; return *this; } //后置++重载 //后置返回的是值不是引用 因为 返回的是...

2021-10-28 10:18:00 242

原创 C++引用、函数、类

一、引用1.引用基本语法数据类型 &别名 = 原名int& b = a;//创建引用2.引用注意的事项//引用必须初始化 int a = 10; int& b = a;//必须要有这个a //引用一旦初始化之后就不可以更改了 &b指向了a 就不能在指向c//可以赋值 b = 20;3.引用做函数void swap13(int& a, int& b){ int temp = a; a = b; b...

2021-10-26 16:19:31 613

原创 C++阶段性总结

一、定义常量1.宏常量#define Day 72.const修饰的变量const int mount = 12;二、sizeof关键字(获取位数)sizeof(int)的位数是四位,double是8位三、转义字符1.换行\n2.反斜杠\\3.水平制表符\t四、算数运算符++a和a++。区别:前置递增 先让变量+1再进行表达式运算,后置递增 先让表达式运算 再让变量+1五、程序流程结构1.跳转语句break 跳出当前就近循环continue

2021-10-13 18:59:27 111

原创 C++未初始化变量 Array::a。始终初始化成员变量(type.6)

定义变量的时候要初始化,比如int i = 0;a[0][0]={};初始化。

2021-10-09 21:41:54 4332

原创 C++引发了未经处理的异常:读取访问权限冲突。

多个源文件存在相同结构体名字,把结构体名字改一下就好了。

2021-10-09 21:38:14 3231 3

原创 OpenCV4-C++读图、显示图

一、安装及配置环境安装包在我上传的资源里,配置环境B站很多教程。二、介绍OpenCV总结:1.图像是什么 图:物体反射或透射光的分布 像:人的视觉系统所接受的团在人脑中所形版的印象或认识2.模拟图像和数字图像 模拟图像:连续存储的数据 数字图像:分级存储的数据3.数字图像 位数:图像的表示,常见的就是8位 分类:二值图像,灰度图像和彩色图像三、imread和imshowimread有两个参数,第一个参数代表图片的绝对路径,第二个参数可以修改图...

2021-10-03 11:07:43 604

原创 C# 责任链模式

首先我们要写一个请求的类。class Request{ private int day; private string reason; public int Day { get { return day; } set { day = value; } } public string Reason { get { return reason; } set { reason = val

2021-07-06 20:08:28 150

原创 C# 命令模式

一、命令模式: 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。——《设计模式》二、模式结构:Command: 定义命令的接口,声明执行的方法。ConcreteCommand: 命令接口实现对象,是“虚”的实现;通常会持有接收者,并调用接收者的功能来完成命令要执行的操作。Receiver: 接收者,真正执行命令的对象。任何类都可能成为一个接收者,...

2021-06-29 19:46:43 444

原创 LIst和Dictionary实例应用(※)

一个 句子指的是一个序列的单词用单个空格连接起来,且开头和结尾没有任何空格。每个单词都只包含小写或大写英文字母。我们可以给一个句子添加 从 1 开始的单词位置索引 ,并且将句子中所有单词打乱顺序。比方说,句子"This is a sentence"可以被打乱顺序得到"sentence4 a3 is2 This1"或者"is2 sentence4 This1 a3"。给你一个 打乱顺序的句子s,它包含的单词不超过9个,请你重新构造并得到原本顺序的句子。...

2021-06-15 10:02:25 168

原创 PLC与伺服电机连接

1.使能的接通线7接电源正极,29接开关接41接电源负极。2.与plc的连接电源正极接到1.2上接到plc的输出Q上,4.6接到电源负极。

2021-06-08 20:07:34 4308

原创 1837.K进制表示下的各位数字总和

给你一个整数 n(10 进制)和一个基数 k ,请你将 n 从 10 进制表示转换为 k 进制表示,计算并返回转换后各位数字的 总和 。转换后,各位数字应当视作是 10 进制数字,且它们的总和也应当按 10 进制表示返回。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sum-of-digits-in-base-k著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

2021-05-31 15:24:03 138

原创 1748.唯一元素的和

//给你一个整数数组 nums 。数组中唯一元素是那些只出现 恰好一次 的元素。 //请你返回 nums 中唯一元素的 和 。

2021-05-31 15:04:02 143

原创 23种设计模式——外观模式

为复杂子系统提供了一个简单接口违反了开放封闭原则传统的操作是客户调用好多个子系统,外观模式的出现只需要客户掉外观类就行了外观类其实就是客户端举例我想在家看电影,旧社会时代,我要自己去把DVD打开,把爆米花机打开,投影仪打开,屏幕放下来,立体声打开,灯光打开。新时代出现了更便捷的方法,我把它称之为人工智能,我只需要躺着对人工智能发送命令,他就会替我实现一些类的操作。代码实现子系统public class DVD { private stat

2021-04-08 22:14:33 149

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

封装了不变的部分,拓展了可变的部分,不变的部分在父类中实现,可变的部分在子类中实现。模板模式的特点是行为由父类去控制,子类去实现。符合开闭原则。模板的流程或者说算法框架是固定的,具体的实现由子类去修改。图解:父类:写子类可以修改的方法以及固定流程的方法。子类:写修改父类中的抽象方法。实例:英雄固定出生、死亡。每个英雄不同的是英雄以及QWER技能。代码:抽象类(父类) public abstract class HeroLibrary {

2021-03-30 16:24:20 166

原创 字典与int矩阵

字典——Dictionary字典常用的方法——fo'reach循环foreach (var item in list) { //Key的值:item.Key,value的值:item.Value; //通过值找键 if (list.ContainsValue("值")) { item.Key//找到键 } /

2021-03-29 21:21:44 363

原创 23种设计模式——装饰模式

问题:由于过多使用继承来扩展对象的功能。举例:给游戏写一种类型的tank,想让他实现红外线和水陆两栖的功能。IA:红外线,IB:水,IC:陆。由上述的例子可以看出来,如果T50Tank想要获得红外线和水陆两栖的功能,就要继承4个父类,这就导致了由于过多使用继承来扩展对象的功能,所以采用装饰模式来对代码进行修改。思想:继承是静态的,我们要实现动态的。就比如虚方法是动态方法,程序需要调用他的时候才会使用到他,而上述的坦克的例子,属于继承给写死的静态方法,我们要通过装饰模...

2021-03-18 13:08:38 191 2

转载 Halcon模板匹配之Shape

Shape模板创建create_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric, Contrast, MinContrast : ModelID)参数说明:NumLevels: 金字塔层数,可以理解为金字塔最顶层最小,储存的信息最少,相对的读取速度就越快。(金字塔)金字塔层数太大了的话,搜索到的物体的信息就会很少,可以适当的减小金字塔层数,如果金字塔层数处于合适的状

2021-03-15 14:16:12 778

原创 list升序和降序

升序sortlist.sort把数组进行升序排序num.Sort(); for (int i = 0; i < k; i++) { result.Add(num[i]); }降序sortlist.sort 那数组进行升序排序翻转遍历num.Sort(); for (int i = k; i > 0; i--) {

2021-03-12 22:08:15 1136

原创 23种设计模式——桥接模式

分离接口和抽象类就一句话 解耦 避免错综复杂的 交叉 增加耦合 static void Main(string[] args) { Car car = new Poersche(); car.CarType(); car = new Ferrari(); car.CarType(); } } /// <summary> /// 发动机类.

2021-03-02 19:14:13 113

原创 23种设计模式——适配器模式

何为适配器就是转接口。/// <summary> /// 目标对象需要的方法 就是Lightning 转 TypeC /// </summary> interface Target { void TypeC(); } /// <summary> /// 适配器对象 就是充电头 /// </summary> class Adapter : Target {

2021-03-02 11:33:49 109

原创 23种设计模式——原型模式

原型模式——克隆模式思想有一套试卷,A和B两个同学一起做,A同学做完了,B看了一眼,感觉挺好的,然后把A的试卷抢过来,照着A的卷子Copy了一份一摸一样的,A就是原型,B觉得A做得不是很好,然后可以在B的试卷上改一改,改完了之后完美了100分。就是说B可以按照原型A来copy,并且可以在A的基础上进行修改。得到更好的。深克隆和浅克隆何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自食其力。

2021-03-01 17:22:14 129

原创 23种设计模式——建造者模式

为什么会出现建造者模式需要创建一个复杂对象的时候,这个对象通过一定的步骤组合而成,并且步骤一步都不能少。流程玩家(客户)告诉拳头(指挥者)我想要一个什么样的英雄,拳头告诉手下的程序员去做一个这样的英雄,程序员去属性库(抽象建造属性类)中找,符合这样英雄的抽象属性,然后具体去设计这个英雄的各种属性。核心通过构造函数,让客户去改变构造函数中的里式替换子类。代码展示首先建造一个抽象类库,生命值,魔法值,攻击力,防御力 abstract class GameBuilder {

2021-02-25 16:52:04 105 1

原创 23种设计模式——简单工厂设计模式

运用Switch case执行程序

2021-02-25 16:35:14 87

原创 面向对象设计

面向对象设计的目标1、可拓展性,容易添加新的功能。2、灵活性,修改代码时更容易添加新的功能。3、可插入行,容易将一个类插进去,并且同时将另一个有同样接口的类加进来。判断软件设计质量的标准高内聚低耦合高内聚:在这个类中,自己的里面有很强的相关性代码组成,只负责一项任务,不可分割。低耦合:在多个类之间,他们的相互联系能力尽量的低,比如去掉一个类,不影响其他功能的正常执行。但是这种不是绝对的互不相干,而是尽量的低,尽量的不要有太多的干涉。设计基本原则1.单一职责原则2.开放—封闭原则3.里氏

2021-02-21 21:14:24 379

原创 23种设计模式——单例模式

为什么会出现单例模式项目中经常会遇到好多个类调用一个类实例的情况,每次调用这个类都要实例化一下也就是new一下,这样就会把原始类里面的数据清空,得不偿失,所以产生了单例模式的这种编程设计模式。单例模式的目的单例模式被设计出来就是为了确保一个程序中只有一个实例,并提供一个全集访问点,节省系统资源。实现单例模式的方法首先新建一个单例类,把这个单例类的构造函数设置成private,让这个类无法在外部被实例化。无法从外部实例化,就要从内部实例化,然后在这个单例类里提供一个方法来和外部对接这个实例化的类。

2021-02-18 10:44:57 100

原创 C#halcon用户控件崩溃的一种处理方法

public Form1() { InitializeComponent(); ucCreateAndFind1.hWindowControl1.HalconWindow.SetDraw("margin"); ucCreateAndFind1.hWindowControl1.HalconWindow.SetLineWidth(4); ucCreateAndFind1.hWindowControl1.HalconWindow.SetColo.

2021-02-01 19:16:45 645

HalconView-demoHalconView-demo

HalconView-demoHalconView-demo

2023-07-20

PLC指令PLC指令PLC指令.pdf

PLC指令PLC指令PLC指令

2021-05-25

PLCPLCPLC软件.pdf

PLCPLCPLC软件

2021-05-18

PLC——1200基础知识.pdf

PLC——1200基础知识

2021-05-13

Distance.hdev

halcon测距离的方法,有创建新窗口,还有获取图像的信息

2021-01-18

FlightChess.zip

最简单的编程控制台飞行棋,可以提供给两个人玩家玩耍,地图固定,抛出的点数不是固定了,多种花样选择,可以当做是日常的和朋友约定的一个小游戏。

2020-08-31

Calculator.zip

这个计算器主要实现的是简单的运算以及阶乘等高级运算,里面还有一种方法是利用枚举实现计算器的运算,简洁方便,美观高大上。

2020-08-02

空空如也

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

TA关注的人

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