自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

原创 C#对一系列button进行操作

在C#的winform中,往往需要对一系列控件进行操作,比如我们会对button进行排序,如button1,button2,button3,但是往往想一次性操作所有button,比如给button1,2,3的backcolor赋值。我们可以创建一个数组把button赋进去~public partial class FormMain : Form { private Button[] buttons; public FormMain() {

2022-04-15 22:55:48 1451

原创 C#利用Chart工具绘制SinCos曲线

如图所示,工具箱拉拽两个button和一个chart,并对 chart工具进行设定。在series可设定图标的类型~接着转到button。chart1.Series[0].Points.Clear();for (int i = 0; i <1000; i++){ chart1.Series[0].Points.AddXY(i, Math.Sin(i * Math.PI / 180.0)); chart1.Series[0].BorderWidth = 5; chart.

2022-04-05 10:50:01 1610 1

原创 Qt开发与调用dll

这次尝试使用Qt开发dll,dll可以应用项目开发,方便其他人员进行调用与调试;以及在扩展应用程序,方便维护,同时保护源码。新建一个子项目,新建一个MainApp子项目技巧:可通过在构建当中选-r -j4变为多核编译,提升编译速度然后选择新建一个C++库...

2022-03-19 21:06:46 1082

原创 Qt中QTimer的使用

QTimer的使用新建UI在头文件中定义好void onUpdateLCDNumber1();void onUpdateLCDNumber2();槽函数定义好QTimer *m_Timer1;QTimer *m_Timer2;在mytimer文件定义好connectui->lcdNumber->setDigitCount(8);m_Timer1 =new QTimer;connect(m_Timer1,SIGNAL(timeout()),this,SLOT(onUp

2022-03-18 23:16:09 1003

原创 leetcode两数之和,本地可输出结果

网上的leetcode都是通过给出的一个案例进行调用写好的函数的,在此写一个函数中能自己在终端打印出结果的函数,在此写下暴力法和哈希表法的解法答案,可直接在本地终端输出结果。暴力循环法def twoSum(nums,target): result = []#把结果存储起来的list l=len(nums) for i in range(0,l): for j in range(i+1,l): sum=nums[i]+nums[j]

2022-03-06 10:17:27 172

原创 Qt中设置button的checkable,实现诸如电机使能去使能或开始结束等功能;

需要做一个上位机,连接控制卡并对电机进行使能,常见的是使用一个勾选框,对电机实现使能和去使能的状态;导入运动卡厂商提供的动态链接库和头文件后,新建一个pushButton,勾选为checkable属性,选中checkable后,Button变成切换按钮(toggle button),可以有两种状态:按下/弹起。因为电机有使能和去使能两种状态,对应的就是开关的开和关。当Button处于按下状态的时候checked为true,否则为false。转到槽,写入以下代码:本次使用高川控制卡进行开发。void

2022-02-17 17:06:31 1746

原创 python中cls和self与__init__初始化的用法区别

之前学过python,在类与对象的cls和self内容上有所混淆,在此记录一下:类的直接使用方法:cls三要素缺一不可,@classmethod,cls关键字,cls.变量最后直接调用类里面的函数方法,实现类的直接使用;类的实例化后使用:self少了classmethod,但是在使用类的时候需要进行实例化,可以随便定义变量名字进行赋值,实现实例化后,调用类的函数方法。...

2022-02-15 14:15:41 820

原创 vector的assign和insert操作实现坐标正逆序添加

对vector存储坐标进行处理

2022-02-14 16:48:48 1523

原创 C#之窗体多线程基础

所谓多线程,就是让计算机同时处理多个事情,在一个项目里面我们都是需要进行多线程的设计。每一个运行的应用程序是一个进程,而一个进程是由多个线程组成的。

2021-12-01 13:20:55 2599

原创 C#在类的属性对非法值的进行限定的三种方法

为了防止用户输入或传入非法值,我们往往需要对类中的属性进行限定。比如在登录系统中,限定密码为数字则必须输入数字,对于年龄的限定必须为0~120,对于性别的设定必须为男或女,现在介绍三种限定方法属性是用于保护和限定字段的,属性的限定一般是set和get方法,其中set方法是在给属性赋值的时候执行的,而get则是在对属性进行打印调用的时候使用的首先我们先创建一个person类,和类下的字段和属性 public class Person//非静态类 { string _name;/

2021-11-25 14:52:19 1913

原创 C#委托笔记

在一个B站UP主 梁叔跟你聊 视频课学到的,第一步:定义委托类型delegate void Help();第二部:实例化委托 Help h;//生成委托实例 h = SayHello;//赋予委托实例合适的函数或功能 h();//实例化该对象 void SayHello() { WriteLine("Hello"); } 这里大家会发现这样和一个函数一样,但是函数调用后一般无法回调,利用委托就是存放一个行为了此时再添加一个行为

2021-11-10 19:59:40 250

原创 C#窗体应用程序之复选框(ComboBox)与进度条(ProgressBar)应用——倒计时器

使用C#窗体应用程序实现一个复选框与进度条的应用。首先设计如下图的界面。定时时间用于选择时间,剩余时间右边的label3用于显示剩余的时间。1.首先双击界面,设置循环往combobox设值,初始化下拉框内容写入以下代码:private void Form1_Load(object sender, EventArgs e) { for (int i = 0; i < 100; i++) { comb

2021-11-03 13:13:35 1782

原创 使用vector存储坐标(x,y)数据

这里写自定义目录标题使用C++的vector使用C++的vector#include <vector>定义结构体struct MyPoint //创建点的数据{ double x; double y;};使用嵌套循环生成坐标点的x,y计算输出,类似于一个乘法口诀表在此生成的50个点的数据如下代码如下:int main(){ vector<MyPoint>Mypoints;//创建点的数组 MyPoint mypoint;//实例化的点 int

2021-10-20 17:16:51 5259

原创 C#窗体应用程序之CheckListBox复选列表与ListBox列表框控件

1.CheckListBox复选列表复选框功能类似的复选列表框 (CheckedListBox),方便用户设置和获取复选列表框中的选项,复选列表框显示的效果与复选框类似,但在选择多个选项时操作比一般的复选框更方便。新建一个checklisbox然后点击那个小三角,可以编辑我们的listbox的内容如图所示,点击确定按钮,转入button的功能实现函数写入以下代码,可以直接对listbox进行一个循环遍历 string msg = ""; for(int i = 0; i

2021-09-09 16:31:54 4896 1

原创 C#窗体应用程序之单选RadioButton按钮控件与复选CheckBox框控件

1RadioButton 单选按钮控件多个 RadioButton 控件可以为一组,这一组内的 RadioButton 控件只能有一个被选中。同样我们新建一个界面,单击确定按钮,进入button的功能函数,代码区写入以下代码, private void Button1_Click(object sender, EventArgs e) { string msg = ""; if (radioButton1.Checked)

2021-09-09 14:35:55 6820 2

原创 C#之用户登录与信息确认设计,数据在不同窗体的传输

C#之用户登录与信息确认设计,数据在不同窗体的传输做一个简单的用户注册功能,把提交的注册信息显示在新窗体的文本框中。新建一个RegForm的窗体,添加一下控件与信息点击Login转到登录按钮,写入一下代码 private void Button1_Click(object sender, EventArgs e) { string name = textBox1.Text; string password = textBox2.Te

2021-09-09 11:37:32 579

原创 C#窗体应用程序之标签控件与TextBox文本框与账号密码登陆窗口

1.添加标签并交换标签在窗体上放置两个普通标签控件 (Label),分别显示“Hello”和“World”,然后新建一个超链接标签 (LinkLabel),单击后 交换这两个标签上显示的信息。private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e){ //交换标签上的信息。 string temp = label1.Text; label1.Text = label2

2021-09-07 19:48:16 3408 2

原创 C#窗体应用程序之消息框

1.消息框的分类消息框是通过 McssageBox 类来实现的,在 MessageBox 类中仅定义了 Show 的多个重载方法,该方法的作用就是弹出一个消息框。消息框在显示时有不同的样式, 例如标题、图标、按钮等。由于 Show 方法是一个静态的方法,因此调用该方法只需要使用MessageBox.Show( 参数 )的形式即可弹出消息框。在上面所列出方法的参数中还涉及两个枚举类型,一个是 MessageBoxButtons,一个是 MessageBoxIcon。下面分别介绍这两个枚举类型中的具体

2021-09-07 16:22:34 3637

原创 C#窗体应用程序之新建窗体和添加窗体事件

1.新建窗体并打开窗体在项目文件中添加新建项,选择Windows窗体,在Form1窗体中添加鼠标单击窗体事件,并在该事件对应的方法中写入打开 Form2 窗体的代码,点击窗体1,然后有下角点击事件,具体代码如下。点击MouseClick,实现单击后弹出新的窗口的功能,双击MouseClick,跳到代码处并写入以下代码 private void Form1_MouseClick(object sender, MouseEventArgs e) { //

2021-09-07 16:01:31 15097 2

原创 C#(VS2019)窗体应用程序之第一个窗口

学习在VS2019上使用C#写窗体应用程序打开VS2019,点最下面的创建新项目选择 Windows窗体应用,配置新项目此时会开始一个新的界面在每一个 Windows 窗体应用程序的项目文件夹中,都会有一个默认的窗体程序 Form1.cs,并且在项目的 Program.cs 文件中指定要运行的窗体,其中Program.cs 文件的代码如下。using System;using System.Collections.Generic;using System.Linq;using Sys

2021-09-07 15:02:41 4341

原创 python-numpy基础(shape,reshape,squeeze,transpose)

所有的图像由opencv读取出来的都是一个numpy数据import numpy as npa=np.array([1,2,3,4,5,6])b=np.array([8,7,6,5,4,3])print(a,shape,b.shape)a,b的shape是一个1维长度为6的数组aa=np.reshape(a,(3,2))bb=np.reshape(b,(1,1,3))print(aa)print(bb)aa变为3行2列的数组,bb为三维的数组,他的类型为1×1×6的一个数组这是

2021-08-16 14:55:47 287 2

原创 Lambda表达式的三种方式

Lambda 表达式是 C++ 11 最重要也是最常用的特性之一,是现代编程语言的一个特点,简洁,提高了代码的效率Lambda 表达式就是一个匿名函数, 他的语法格式如下:[capture](params) opt -> ret {body;}; - capture: 捕获列表 - params: 参数列表 - opt: 函数选项 - ret: 返回值类型 - body: 函数体第一个参数,捕获列表,含有以下三种分类[ ] 不捕捉任何变量[&amp

2021-08-13 20:00:10 316

原创 配置环境变量解决QT无法执行exe文件的问题

在QT上写好界面后,并能在QT中正常运行与编译后,我们想在计算机单独运行生成的可执行文件(.exe),需要我们对系统的环境变量进行配置找到QT的安装目录,我是安装了mingw和msvc2013的版本为了将mingw和vs版本编译的qt可执行文件顺利运行,需要我们将bin目录下的文件配置到环境变量中。这是我的两个路径,大家可以看自己文件路径进行相应的配置同时还需要将Tools目录中的bin编译器文件配置到系统变量中,g++和gcc都是用来编译可执行程序的D:\qt\5.9.1\msvc2013

2021-08-11 16:08:35 1680

原创 QT使用QFileDialog与opencv读取电脑图片文件并显示在界面

QFileDialog打开文件的使用之前记录了直接使用opencv的imread函数读取特定位置的图片,这次实现一个电脑上任意位置的文件读取的功能。在这里需要用到QFileDialog这个静态函数,返回用户选择的文件名,如果用户选择取消或者关闭窗口,则返回一个空串。函数形式如下:QString QFileDialog::getOpenFileName( QWidget * parent = 0, const QString & caption = QString(), const QString

2021-08-10 16:54:40 1642

原创 opencv使用KMeans进行像素分割实例(C++与python版本)

上次写了一个KMeans的原理与实现Kmeans原理。这次使用图片进行一个实例的样本数据分割,简单来说就是对图片的各种像素值,分割为几个指定类的颜色值。最常见的应用就是实现证件照的底色替换,或者是图像主色彩的替换,当然要完美分割不但需要KMeans的方法,还需要一些别的操作比如边缘修整等方法。预备工作1.将像素点作为单独的样本在此需要使用opencv的mat函数reshape实现,便可实现将Mat对象变换到我们的样本数据Mat cv::Mat::reshape( int cn, int row

2021-08-09 13:54:33 1114

原创 opencv之kmeans原理与分割实例

opencv之K-Means原理与实现方法(C++和python版本)KMeans原理今天记录一下opencv中kmeans中的原理以及图像分割的一个实例,K-Means是对数据进行分类的算法,属于无监督学习的一种。首先需要确定对图像进行类别的数目确定,即需要知道几个类别,然后每个类别都有一个中心点然后根据距离来决定每个数据点属于哪个类别标签,一次循环实现对所有数据点分类之后,直到指定的循环次数或者前后两次的delta小于指定阈值,停止计算得到最终的样本数据的标签。先讲讲opencv中KMeans

2021-08-05 16:33:15 1316 2

原创 使用opencv在qt的label上显示图片

使用QT在label上显示图片之前记录过,因为QT的RGB顺序和opencv中的不同,如果需要在qt上的label显示图片,需要将读取的图片转换为QImage类型。首先我们简单的创建两个button和label此时在show_hsv右键转到槽,写入以下代码最关键的是第三行,让src1转为QImage类型,使用改行函数实现该功能 Mat src1=imread("1.png"); cvtColor(src1, src1, CV_BGR2HSV);//BGR convert to hsv

2021-07-12 09:31:25 2347 1

原创 opencv复杂背景下的轮廓提取与缺陷检测

开门见山,在一个论坛上,看到了一个案例,对一个复杂背景下的物体进行缺陷检测。论坛上有人给出了halcon、的代码,简介明了,不过在此我尝试用c++写出来了halcon的写法:https://www.51halcon.com/thread-1173-1-1.html这个图真的是密集恐惧症慎点,大晚上看的话还有点害怕,面对这样的一个图片,如何对他中间区域的提取分割呢。首先把这个物体比喻成一个眼球,对眼球周围部分的密集纹路进行一个过滤,转为灰度后然后进行中值滤波,然后尝试用图像做差过滤掉大部分纹路,然后二

2021-07-01 19:01:17 7176 5

原创 QT使用Opencv3.4读取图片与调用摄像头实时显示

这里写自定义目录标题前提功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入前提本次尝试记录一个使用QT调用opencv3.4读取图片与打开摄像头实时显示的效果,电脑安装好QT,OPENCV3.4,并能成功在QT中搭建opencv的

2021-06-29 16:28:47 1888 1

原创 相机、镜头参数解析

最近在做一个项目需要对一个光学系统进行 选型,在此期间恶补了相机和镜头的基础知识,整理了一个笔记相机参数:分辨率:靶面排列的像元数,用于度量图像内数据量多少的一个参数,通常表示成ppi(每英寸像素Pixel per inch)和dpi(每英寸点)像素位深:像素深度是指存储每个像素所用的位数,也用它来度量图像的分辨率。常见为8、10、12bit像元尺寸:像元尺寸和像元数(分辨率)共同决定靶面的大小。一般像元尺寸越小,制造难度越大。传感器尺寸:靶面 = 像元尺寸*分辨率曝光时间:为了将光投射到照相

2021-06-25 21:23:58 8542

原创 使用opencv读取视频并在视频画线画点

opencv在视频中绘制直线与点使用opencv读取视频并在视频画线画点#include<iostream>#include<opencv2\opencv.hpp>#include <opencv2\dnn.hpp>using namespace cv;using namespace std;void main(){ VideoCapture cap; cap.open("2.MP4"); int width = cap.get(CV_CAP

2021-06-24 11:37:57 1628

原创 opencv-python的颜色检测追踪

基于opencv的颜色识别检测 基于python写的一个opencv颜色识别,主要运用到了hsv色彩空间import cv2 as cvimport numpy as nplower_red=np.array([150,43,46])upper_red=np.array([179,255,255])lower_green=np.array([30,100,100])upper...

2021-06-08 21:41:45 3100 1

原创 QT和opencv环境搭建

opencv和qt环境搭载前提:已经能够在VS2015或2017搭载好了opencv并通过C++代码实现,这次我们将安装好的qt联合opencv进行环境搭建,实现在qt使用opencv的功能同样的需要新建一个qt 项目文件,点击demo那个黑体的,然后右键“添加库”我的电脑不知道为啥点击“添加库”后无法打开 添加库的菜单,也就是点击“添加库”没有任何反应,这时可以点击 .pro的文件,在空白处右键也可实现添加库。然后我们选择的是外部库,这时需要我们找到opencv的dll文件,大家同学使用ever

2021-04-10 14:33:00 916

原创 qt学习笔记创建新窗口并打开

qt学习笔记2创建新窗口并打开今天学习qt创建一个新窗口并打开此新窗口的方法在项目文件点击添加新文件选择如图所示的 设计师界面类选择Main Window的这个基类然后自己创建文件名就可以啦,完成后会跳出一个新的界面然后点开mainwindow.h,把新文件的头文件包含进来,同时定义new_window这个对象此时在ui再拉拽一个button,改名为“打开新窗口”,然后右键转到槽,此时定义a的对象使其实现打开的功能,界面如下,但此时编译运行会报错,因为我们添加了新文件,可能项目是还

2021-03-21 21:51:31 2268

原创 qt学习笔记

这里写自定义目录标题qt学习笔记HELLO WORLDhello world 窗口创建控键实现其关闭窗口的功能qt学习笔记最近开始学习一些qt,再次记录自己的学习HELLO WORLD1.新建一个项目,点击Qt Widget Application2 .选择文件名称和路径,不可使用中午3 选择编译类型,默认是MSVC的,这个需要之前自己配置好4下一步通通选择默认的类名和基类~hello world 窗口XXX.pro 项目文件,需要用到什么可以在开始那里加上,比如需要用到数据库就加上Q

2021-03-21 21:08:26 138

原创 python-opencv之numpy数据的学习使用

二进制写尽天下事,计算机并不会像人那样直接去图像进行判断,看到美女和美食也不会心动,而机器视觉则帮助我们学习计算机是如何处理图像的。这次讲解讲解运用numpy数组操作图像。遍历访问图像的像素并进行取反import cv2 as cvimport numpy as npdef access_pixels(image): # 获取高heigt宽weiht通道channel prin...

2020-03-27 21:10:43 294

原创 python-opencv读取图片及尺寸修改

python-opencv读取图片及尺寸修改opencv全称为open computer vision 开源计算机视觉,是一个专业用于图像处理的开源工具库在正式使用与学习之前必须安装好相应的库,打开cmd输入:pip install opencv-python==4.0.0.21鉴于最新版运行一些代码会报错Python openCV qt.qpa.plugin: could not f...

2020-03-23 22:18:16 5535

原创 python——Matplotlib学习笔记2

绘制散点图手动瞄点,如果数据小可以试试import matplotlib.pyplot as pltplt.title("scatter graph") #图标名称 plt.xlim(xmax=10,xmin=0)#定义x轴范围plt.ylim(ymax=10,ymin=0)#定义y轴范围plt.plot([1,2,3,4,5,6,8,10],[4,5,6,8,10,8,6,4],'r...

2020-03-07 21:32:39 719

原创 python——Matplotlib学习笔记

Matplotlib是pyhon中一个强大的绘图图,可以理解为 MatLab 开源替代,鉴于MatLab的内存之大及安装之复杂,决定先学学Matplotlib这个库。1Matplotlib的安装window:打开cmd,:python -m pip install -U pip setuptoolspython -m pip install matplotlibmac:打开终端,输...

2020-03-06 14:32:06 5225 2

videotest1.cpp

使用opencv读取视频并在视频的正中间十字线进行标记,适用于不同视频

2021-08-09

空空如也

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

TA关注的人

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