自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 测试2023

业务痛点:优秀测试设计用例少,掌握测试设计方法能力少,随产品上量使用,产品问题逆向分析测试设计遗漏多。自动化测试痛点:从需求到自动化用例生成页面生成的一个完整需求大模型自动化用例–用例步骤敏感,不输出用例信息,只输出代码测试步骤2大模型自动化代码生成测试步骤3大模型自动化代码生成1、场景级自动化用例建设效率由每人天4个提升到每人天15个【时间消耗在测试因子补充】2、测试用例自动化率由50%提升到80%,解决了测试经理困惑,不会存在测试策略遗漏。

2023-10-04 17:34:38 1650 2

原创 【ES6编程风格】笔记

(1)let取代varlet 完全可以取代var上面代码如果用var替代let,实际上就声明了两个全局变量,这显然不是本意。变量应该只在其声明的代码块内有效,var命令做不到这一点。var命令存在变量提升效用,let命令没有这个问题。上面代码如果使用var替代let,console.log那一行就不会报错,而是会输出undefined,因为变量声明提升到代码块的头部。这违反了变量先声明后使用的原则。(2)全局常量和线程安全。

2023-05-01 16:02:42 152

原创 《深入理解JavaScript》笔记

MarkdownText-to-HTMLAuthorsJohnLuke一个单独的等于号(=),用于为变量赋值。三个连续的等于号(===),用于比较两个值。

2023-04-29 16:03:16 436

原创 小王的Leetcode刷题日记4

45、跳跃游戏II两步贪心class Solution { public int jump(int[] nums) { int curr_max = 0; int next_max = 0; int step = 0; for(int i=0;i<nums.length-1;i++){ if(i+nums[i] > next_max) next_max = i + nums[i];

2021-10-08 10:54:20 210

原创 小王的Leetcode刷题日记3

3、无重复字符的最长字串方法1、暴力求解逐个生成子字符串看它是否不含有重复的字符方法2、滑动窗口及优化从a-c都不重复,等到a重复的时候,左指针向右移动一位右指针向右移动一位双指针JAVA Code:class Solution { public int lengthOfLongestSubstring(String s) { HashSet<Character> set = new HashSet<>(); int right = -1;

2021-09-17 17:06:25 202

原创 小王的Leetcode刷题日记2

102、二叉树的层序遍历BFS+DFS队列和BFS是相辅相成的BFS Python Code:# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = right#from collect

2021-08-26 11:02:50 186

原创 面试-计算机网络1

网络分层模型OSI:Open System Interconnection,开放式系统互联。国际标准化组织(ISO)指定的理论模型。TCP/IP四层模型:基于OSI建立的实际实现的模型。应用层协议:http网络互联层:ip,寻址,跟服务器建立连接(了解服务器的地址),每个电脑都有一个ip(标记主机地址)TCP三次握手与四次挥手C -> BS:客户端的发送能力没问题C:服务端的接收能力没问题,以及发送能力没问题S:客户端的接收能力没问题第一行:客户端向服务端发送:SYN同步||Seq

2021-08-10 15:23:17 144

原创 小王的Leetcode刷题日记1

链表反转-迭代链表必须根据指针找到下一个元素public class ReverseList { static class ListNode{ int val; ListNode next; public ListNode (int val,ListNode next){ this.val = val; this.next = next; } } //迭代

2021-07-11 18:19:36 266

原创 双目视觉的运动目标跟踪定位及抓取系统研究+1101

2、双目视觉系统3、目标角点检测算法(Harris、FAST、SIFT等角点检测算法)5、SCARA四自由度机械臂运动学分析、Matlab中Robotics Toolboxsecond双目立体视觉系统:双目立体相机标定、立体匹配算法、特征提取算法双目视觉系统的第一步就是对其进行标定,即获取摄像机的内外参数。通过已知世界坐标系(标定板)和图像坐标系(对标定板图像处理后结果)之间的对应关系,计算出双目摄像机在当前位置下的相关参数,而后期物体的定位精度会直接受标定精度结果的影响。针孔模型0d 和

2021-06-19 16:03:27 3409

原创 三菱PLC+2021

USB-CS09

2021-06-19 16:02:25 83

原创 卡尔曼滤波+20201205

import numpy as npimport matplotlib.pyplot as plt#这里是假设A=1,H=1, B=0的情况# 故动态模型 X(k) = X(k-1) + 噪声# Z(K) = X(k)# 动态模型是一个常量# intial parametersn_iter = 50sz = (n_iter,) # size of arrayprint('sz =',sz)x = -0.37727 # truth value (typo in e

2020-12-06 16:14:58 102

原创 Halcon取小圆模板+20201030

* This example demonstrates how to create a model for* scale invariant shape-based matching.* * dev_update_off ()dev_close_window ()* * Acquire imageread_image (Image, '/home/wll/picture1/1030/yuanzhu.jpg')dev_open_window_fit_image (Image, 0, 0, -

2020-10-30 17:12:17 205

原创 clion的安装和配置+20201028

Clion的安装和配置一、下载安装Clion在Clion官网下载后,在Ubuntu下打开命令窗口,解压下载的压缩包:tar zxvf CLion-2016.2.2.tar.gz。然后进入解压文件夹的bin目录下面,输入:./clion.sh打开clion后,可以选择三十天免费试用版本,也可以搜索激活码,或者有服务器网站也可以破解,在host上面修改。图1 填服务器地址图二、写CMakeLists图2 CMakeLists内容图3 main.cpp内容2.1 CMakeLists的作用

2020-10-28 15:09:01 2202

原创 C++全局变量+20201024

一、分功能模块设计,包含.h文件:1、首先分模块设计,一个功能模块对应一个 func.cpp文件和 func.h文件;2、变量、函数定义放在func.cpp,声明放在func.h中;// File:func.cint i = 0, j = 2;// 本文件全局变量// 功能函数int func(void){ return 0;}// File:func.h#pragma once // 防止多次定义extern int i; // 全局变量外部声明int j; // 本文件全

2020-10-24 21:04:02 80

原创 模板匹配(均值)+20201023

# 导入相应的库from PIL import Image,ImageDrawimport numpy as npimport cv2# 读取图像big_image = Image.open("capture1-0.jpg")small_image = Image.open("target_rectangle.png")print("成功读取图像")# 将图片转换为灰度图big_image_rgb = big_imagebig_image = big_image.convert('

2020-10-23 15:24:08 242

原创 仿射变换+20201022

M作为仿射变换矩阵,一般反映平移或旋转的关系,为InputArray类型的2×3的变换矩阵。flages表示插值方式,默认为 flags=cv2.INTER_LINEAR,表示线性插值,此外还有:cv2.INTER_NEAREST(最近邻插值) cv2.INTER_AREA (区域插值) cv2.INTER_CUBIC(三次样条插值) cv2.INTER_LANCZOS4(Lanczos插值)日常进行仿射变换时,在只设置前三个参数的情况下,如 cv2.warpAffine(img,M,(ro

2020-10-22 16:10:17 145

原创 图像是否OpenCV格式/OpenCV什么版本+20201022

判断图像数据是否是OpenCV格式isinstance(img, np.ndarray)判断OpenCV版本是2还是3或4import cv2import imutils #若没有包使用 pip install imutils 安装 if imutils.is_cv2(): print("OpenCV2") if imutils.is_cv3(): print("OpenCV3") if imutils.is_cv4(): print("OpenCV4")

2020-10-22 10:42:52 235

原创 模板匹配(旋转缩放)旋转不好匹配+20201019

import cv2import numpy as np# 加载原始RGB图像img_rgb = cv2.imread("capture1.jpg")# 创建一个原始图像的灰度版本,所有操作在灰度版本中处理,然后在RGB图像中使用相同坐标还原img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)# 加载将要搜索的图像模板#模板1 筛选图案1template1 = cv2.imread('template1.png', 0)#模板2 3 筛选

2020-10-19 17:26:17 3012 5

原创 C++中typedef class cv::Mat+20201015

C++中typedef,其作用是给某种数据类型定义一个新的名字。1.在C语言编程中,可以使用typedef关键字来重新命名一个数据类型,这里指的数据类型包括基本数据类型如int ,char,double等和结构数据类型struct等。2.使用typedef的目的主要有两个,其一是为了让自己在后续编程时方便记住变量的名字,其二是为了简化一些变量名称较长的名字。3.常见的用法如下:(1)用typedef只是对已经存在的类型增加一个类型名,而没有创造一个新的类型。只是增加了一个新名字,可以用该名字定义变

2020-10-15 17:12:13 1279

原创 cx_3d_snap_point_cloud+20201014

1、发现设备std::string uri = cx::discoverAndChooseDevice()->deviceURI;std::cout << "Open Device:" << uri.c_str() << endl;连接相机auto cam = cx::DeviceFactory::openDevice(uri);可视化框架cx::viz::Viz3d viz("Point Cloud");cx::Variant val;cam-

2020-10-14 21:53:10 438 1

原创 C++中-> :: stoi stod auto+20201013

有一个Phone类(手机),该类有一个成员函数SendMessage()用于发短消息,通常你要调用这个函数,可以先定义一个Phone类的指针*phone,利用这个指针就可以调用该函数了:phone->SendMessage();->是指针的指向运算符,通常与结构体一起使用。#include<stdio.h>struct stu // 定义一个结构体{ char name[10]; // 姓名 int num; // 学号 int age;

2020-10-13 22:02:47 310

原创 C++快速入门+20201011

C++:面向对象属性 和 行为 ///////// 封装成类1、封装:把对象的属性和方法结合成一个独立的系统单位2、抽象:对一类公共问题进行统一描述的过程(得到所有参与者的同意的协议)3、继承:子类对象拥有其基类相同的全部属性和方法4、多态:在基类中定义的属性和行为被子类继承后,可以具有不同的数据类型或者表现行为等特性cout:是对象,输出流对象////console out(控制台输出),属于basic_ostream类的对象,ostream类在ios

2020-10-11 21:58:04 2062

原创 Halcon视觉框架+车牌识别+汉字识别+颜色识别+20200930

视觉框架采集接口:USB接口、网口接口(要配置ip地址,让相机ip地址和电脑ip地址在一个局域网内)-------》预处理-------》(去除噪声)1、中值滤波2、均值滤波3、高斯滤波4、模板(求动态范围)灰度图像的开闭运算(把灰度调亮或者调暗)形状变小:灰度值减小。形状增加:灰度值增加。-------》特征提取1、形状特征2、颜色特征3、纹理特征4、概率特征5、描述算子特征6、梯度特征7、角点特征-------》特征识别-------》显示shape_trans(,RegionT

2020-09-30 19:51:37 2532

原创 Halcon特征检测+20200927

area:面积row、col:区域中心的行列坐标row1、col1:区域左上角的行列坐标row2、col2:区域右下角的行列坐标ra:椭圆的长半轴rb:短半轴phi:角度roundness:圆度num_sides:多边形边的个数connect_num:连通域的个数holes_num:孔洞数area_holes:面积洞数(缺陷检测时会用到)max_diameter:最大直径orientation:旋转角度。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2020-09-27 14:24:55 924

原创 C5-CS+20200923

近日,AT公司基于其已有产品C5-1280-GigE,研发推出了5个新型号产品,扩展了其3D激光传感器产品线。该系列产品被誉为世界上最快速的3D传感器之一。新的C5-CS系列产品结构紧凑,集高科技3D传感器与先进的激光技术于一身。优化X/Z方向分辨率新型号产品每条轮廓线包含的点数高达1280点,轮廓扫描速度高达200kHz。所有3D激光传感器出厂前均经过预校准,工作距离为31mm-90mm,测量范围宽达312mm,高达300mm。因此,C5-CS系列传感器的分辨率较高,X方向分辨率可达5μm,Z方向分辨

2020-09-23 20:13:37 262

原创 像素坐标系to图像坐标系+20200922

像素坐标系:如下图所示:像素坐标系u-v的原点为O0,横坐标u和纵坐标v分别是图像所在的行和列,在视觉处理库OpenCV中,u对应x,v对应y;图像坐标系:图像坐标系x-y的原点是O1,为像素坐标系的中点,假设(u0,v0)代表O1在u-v坐标系下的坐标,dx和dy分别表示每个像素在横轴x和纵轴y的物理尺寸;则图像坐标系和像素坐标系的关系如下:假设物理坐标系中的单位为毫米,那么dx的单位为毫米/像素。那么x/dx的单位就是像素了,即和u的单位一样。为了方便,将上式写成矩阵形式:

2020-09-22 22:26:18 2243

原创 四元数 in Vrep+20200920

VREP中直接设置物体姿态的函数有3个:1、simSetObjectOrientation:通过欧拉角设置姿态2、simSetObjectQuaternion:通过四元数设置姿态3、simSetObjectMatrix:通过旋转矩阵设置姿态(同时也可以设置位置)通过设置物体矩阵可以同时改变其位置与姿态,参数matrix是一个包含12个元素的列表: 12 simFloat values (the last row of the 4x4 matrix (0,0,0,1) is not n

2020-09-20 20:09:13 293

原创 相机坐标系to机器人坐标系+20200920

在视觉 SLAM 中,我们引入了 4 个坐标系,通过不同坐标系观测到同一个点会得到不同的坐标位置,并且存在一定的关系。一、世界坐标系到相机坐标系世界坐标系与相机坐标系之间仅相差一个旋转和一个平移,我们将图像中的坐标系旋转到与世界坐标系相同的方向,再将两个原点通过平移重合到一起即可完成变换。1、旋转矩阵...

2020-09-20 09:08:43 3819

原创 python线程间通信+20200918

python线程间通讯#!/usr/bin/python# -*- coding:utf8 -*-from threading import Thread, Lock import randomdef test_thread(): #线程间的通信,使用锁来控制共享资源的访问 a = 0 n = 10000000 lock = Lock() def imcr(n): global a for i in range(n):

2020-09-18 20:08:10 291

空空如也

空空如也

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

TA关注的人

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