自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (7)
  • 收藏
  • 关注

原创 numpy中datetime_debug记录

1. basic表达式:np.datetime64()2. DEBUG以下两种写法略有差异:import numpy as npt = np.array(ttmp).astype(np.datetime64)starts.append(t)# balabalastarts = np.array(starts)import numpy as npstarts.append(t)# balabalastarts = np.array(starts).astype(np.dateti

2021-07-29 21:48:14 151

原创 Wemos board VS MPU6050

唉,新的问题都快把人搞傻了。众所周知,MPU6050同时输出三个维度上的加速度,双重积分之后,通过计算角度来判断传感器的姿态。它的性能要求可能比单输出的传感器要求更高。测试:wemos+ VL53L0x:工作正常,wemos没问题;Arduino+MPU6050:正常,传感器没问题;wemos+MPU6050:数据输出为0,0,0并且不变化;wemos+MPU示例代码:同样跑不通。唯一的方法就是改库函数,只取最有价值的一个数,其他的值和运算都删掉……...

2021-03-05 10:27:46 181 1

原创 unity+MAMP(1):为游戏搭建数据库

链接:油管视频下载MAMP之后,在web server的文件夹路径中加入配置文件:login.php<?php$con = mysqli_connect('localhost','root','root','unitycpr'); //check that connection happened if(mysqli_connect_errno()) { echo "1: Connection failed"; exit(); } $username = $_POST["n

2021-01-05 17:44:03 312

原创 02 线性结构3 Reversing Linked List(未编译)

非课程时间,存档未编译。typedef int ElementType;struct Node{ int Add; ElementType Data; int Next;};#include <stdio.h>#include <stdlib.h>int main(){ int first_add; int N,K,i,j; struct Node input[10000],sort[10000],output[1000

2020-12-31 15:26:50 84

原创 VL53L0X报错记录

硬件:VL53L0X,wemos D1 R2最开始以为是TCP连接的问题,因为一直输出65545(其实应该是65535,输出的时候加了10)。也就是数据溢出。跑示例代码的时候发现是初始化不对,但是初始化就是一句,我也不能改。最后确定是连接问题。对于wemos板来说,SCL和SDA不能连接D口,要连接A口。最终解决问题。...

2020-12-09 10:45:16 1001 1

原创 MV:二进制

把object上的部分设置为高值,其他部分设置为低值。最简单的方式是使用thresholding-labelling产生二值图像。灰度值高于阈值为1,灰度值低于阈值为0。从直方图中确定阈值:图所示的双峰直方图在暗像素和亮像素之间几乎没有分布重叠。 有两个主要峰。阈值将位于两个峰值T之间的谷值。f(x,y)>Tf(x,y)> Tf(x,y)>T的任何点(x,y)(x,y)(x,y)称为object point; 否则,它称为background point。多阈值:这里有两

2020-11-23 15:14:06 130

原创 MV: 应用与设计

应用:inspection孔的定位和检验;测量尺寸;检测缺陷位置。part identification & sorting零件分拣;形状识别;监测库存;检测传送带上重叠/不重叠的零件。工业机器人控制追踪;零件位置和定位;避障。移动机器人应用1.1 检测糖果Q:巧克力在装盒之前,如果在传送带上沾上另一块,这两块就不会被装入。A-1:设置:光源,摄像机位置,焦距,视场。图像采集:一个CCD相机和前光安装在传送带上方。当糖果经过摄像机时,每一块都会被检查,以确认它是一块巧克力的大小

2020-11-22 13:24:05 113

原创 pybullet报错

pybullet.error: Only one local in-process GUI/GUI_SERVER connectionallowed. Use DIRECT connection mode or start a separate GUI physicsserver (ExampleBrowser, App_SharedMemoryPhysics_GUI,App_SharedMemoryPhysics_VR) and connect over SHARED_MEMORY, UDP or.

2020-10-25 16:54:19 1164 2

原创 pybullet 中创建模型无法显示(solved)

显示使用:pybullet.connect(pybullet.GUI)创建物体使用:pybullet.createVisualShape(shapeType=pybullet.GEOM_BOX,halfExtents=[1,1,1])pybullet.createCollisionShape(shapeType=pybullet.GEOM_BOX,halfExtents=[1,1,1])奇怪的是,GUI上看不到创建的东西。换成别的object也是一样。...

2020-10-24 16:33:43 664

原创 MV:成像几何(2)

最后一点点。4. Stereo Vision定义3D视觉,是从2D场景中推测出3D信息,主要困难有几何和radiometric上的。几何问题是单独的图片不能提供3D结构的完整信息,另一个问题是创建强度图像的物理过程过于复杂。不是所有的输入参数都是已知的。立体视觉通常需要使用两个摄像机。Stereopsis 是视觉感知的一个过程,它能让人产生立体纵深感。Homography也成为共线或射影变换;是一个射影空间到另一个射影空间(在embedding空间中是线性的)的映射。这个空间可以有任意维数ddd;

2020-09-11 10:58:12 333

原创 MV:频域的噪音和过滤

1. 噪声真实图像经常会受到一些随机误差的影响。这种退化通常称为噪声。1.1 图像的退化有多种可能原因,例如机械设备不稳定影响图片锐度和图片模糊,电子传感器的缺陷,和在有噪声的电线上进行数字图像传输。图像采集时的退化通常被称为噪声;噪声可能发生在图像捕获、传输和预处理中。1.2 噪声的种类Channel Noise独立于图像信号:(例如信号传输过程中的噪声)v:随机噪声g=f+vv:随机噪声\\g=f+vv:随机噪声g=f+v依赖于图像信号(multiplicative noise)

2020-09-10 16:24:27 1071

原创 RL(4):蒙特卡洛法

2. 蒙特卡洛预测Q:已经有一系列的状态SSS和动作AAA,事先不知道转换函数和奖励函数。agent在状态sss时,采取的行动只可能在A(s)A(s)A(s)范围内,且每次agent做完动作之后,都会得到一个奖励。现在假设给定策略π(s)\pi(s)π(s)对于所有s∈Ss\in Ss∈S,应该如何估计这个策略的状态值vπv_\pivπ​?在蒙特卡洛预测中,基本思路是让agent在episode中按照给定策略π\piπ走来走去,同时收集沿路线得到的奖励。一个episode由一系列step组成,每个步包括

2020-09-09 14:28:34 324

原创 RL(3):动态规划

1. 策略迭代有两个子步骤:policy evaluation策略评估和policy improvement策略改进。策略评估的目的是对于给定的策略π\piπ,确定状态值函数vπ(s)v_\pi(s)vπ​(s);策略改进的目的是找出新策略π′(s)\pi'(s)π′(s)使得π′≥π\pi'\ge\piπ′≥π策略迭代的步骤:1.随机选择初始策略π0\pi_0π0​,令πk=π0\pi_k=\pi_0πk​=π0​;2.对πk\pi_kπk​实行策略评估,获得状态值vπkv_{\pi_k}vπk​

2020-09-08 13:44:33 233

原创 RL(2):马尔科夫决策过程

把扫地机器人简化成以下条件:状态序列:{0,1,2,3,4,5}\{0,1,2,3,4,5\}{0,1,2,3,4,5}行为序列:{−1,+1}\{-1,+1\}{−1,+1}转移函数:fˉ(0,±1)=0,fˉ(1,+1)=2,fˉ(1,−1)=0,fˉ(2,+1)=3,fˉ(2,−1)=1\bar f(0,\pm 1)=0 ,\bar f(1,+ 1)=2,\bar f(1,- 1)=0,\bar f(2,+ 1)=3,\bar f(2,- 1)=1fˉ​(0,±1)=0,fˉ​.

2020-09-07 17:44:07 183

原创 MV:成像几何(1)

1. 实物与图片坐标之间的转换示例:用图像引导机器人的针头插入任务:根据器官的透视投影图像进行多根针插入真实世界坐标中的目标物体被摄像头捕捉到,并在图片坐标中存储为图片。(假设所有目标物都在同一平面)机器人以此为判断依据,把针头插入目标物。1.1 校准Calibration校准,是识别转换参数的过程图片:[xy]\begin{bmatrix} x \\ y \end{bmatrix}[xy​]物体:[XY]\begin{bmatrix} X \\ Y \end{bmatrix}[XY​]

2020-09-05 12:08:04 224

原创 MV:图像采集(2)

4. Optics透镜将物体的图像聚焦在一组光电二极管上。传感元件把光转换成电信号。重要的光学参数:放大率,焦距和景深。4.1 Lightp:动量;λ:波长;普朗克常量h≈6.62×10−34p:动量;\lambda:波长;普朗克常量h\approx6.62×10^{-34}p:动量;λ:波长;普朗克常量h≈6.62×10−34德布罗意方程:λ=hp德布罗意方程:\lambda=\frac{h}{p}德布罗意方程:λ=ph​每个粒子有能量:E=hvE=hvE=hv在真空中:v=cλv=\f

2020-09-03 22:14:35 313 1

原创 MV:图像采集(1)

Image Acquisition1. Overview of Machine Vision System一个机器视觉系统需要几种必要组成元素,来获得图像的数字化表达,修改数据,把数字化的图像数据表达在现实中。它有三大功能:图像采集、处理过程和输出/展示。有视觉系统的工业制造单元:视觉系统观察物体,确定它是否在规格范围内,并相应地产生命令信号。图像采集系统包括灯光、摄像机和frame grabber抓帧器。1.1 图像采集将一个物理对象的视觉图像及其内在特征转换成一组可被系统处理单元使用的数字化数

2020-09-03 17:45:03 1161

原创 MV:数字图像基础(2)

5. 几何转换几何转换经常被称作rubber-sheet transformation,就好像把图片印在橡胶板上,依据已定的规则拉扯这块板子所形成的图案。其目的是消除几何失真,同时也用于匹配同一物体的两张图片。5.1 几何转换函数使用向量函数T把像素点p(x,y)映射到新位置(x’,y’)x′=Tx(x,y)x'=T_x(x,y)x′=Tx​(x,y)y′=Ty(x,y)y'=T_y(x,y)y′=Ty​(x,y)像素坐标系:几何转换的两步:像素坐标转换——将输入和输出图像的像素点映射起来,

2020-08-29 15:38:04 346

原创 MV:数字图像基础(1)

1

2020-08-28 11:35:57 705

原创 强化学习笔记:深度强化学习

在Q-learning中,主要任务是寻找最佳state-action 值Q∗(s,a)Q_*(s,a)Q∗​(s,a)。Q-learning的实现(使用更新规则),需要存储和检索state-action对(si,aj)(s_i,a_j)(si​,aj​)的中间值Q(si,aj)Q(s_i,a_j)Q(si​,aj​)。通常使用一些数据结构(例如矩阵)来达成目的。我们可以简单地认为数据结构是一个“查找表 look-up table”的值Q(si,aj)Q(s_i,a_j)Q(si​,aj​),或者简单的一个Q

2020-08-22 20:59:41 217

原创 强化学习笔记: Model-free Approaches

Model-free approaches这种方法不需要transition function和reward function。这种方法估计状态值函数q(s,a)q(s,a)q(s,a),从中确定最优策略。主要分为两类:Monte Carlo methods,temporal difference methods。蒙特卡洛法:要想寻找数学问题的近似解,需要借助随机采样过程中获得的经验。当一个agent-environment迭代的模型是不可用的时候,蒙特卡洛法使策略迭代成为可能。在model-fre

2020-08-22 19:48:38 259

原创 强化学习笔记: Model-based Approaches(2)

Module-based approaches解决一个强化学习问题主要有以下三步:建模评估value function,确定值函数的最优值。选取policy,根据值函数的最优值选取策略π∗π_∗π∗​,这种策略就是强化学习问题的一种解决方案。如果模型是可行的,则可以建立与transition function相关的两种状态的最优值(v∗(s)q∗(s,a)v_*(s) q_*(s,a)v∗​(s)q∗​(s,a))的递归关系。这种递归关系被称为Bellman Optimality Equati

2020-08-22 11:57:38 292

原创 强化学习笔记: Model-based Approaches(1)

1. Model-based Approaches爬行机器人中,每个关节有5个自由度,机器人有25个自由度。把自由度按坐标画出来,这个图表明如果机器人从一种状态移动到另一状态,其形态就发生改变,称为过渡。把所有能转换的状态列出来,是state transition diagram。最终需要的仅仅是爬的最快的路径。最短路径可以被很快编译出,但是指令仅仅来自于外界。更复杂的方式是让机器人基于眼前的任务,生成自己的指令。例如,让机器人通过试错法来学习这些指令。机器人杂乱无章地调整姿态,不同的姿态会得到不同的

2020-08-21 21:33:49 391

原创 PTA:方阵循环右移

本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。输入格式:输入第一行给出两个正整数m和n(1≤n≤6)。接下来一共n行,每行n个整数,表示一个n阶的方阵。输出格式:按照输入格式输出移动后的方阵:即输出n行,每行n个整数,每个整数后输出一个空格。输入样例:2 31 2 34 5 67 8 9输出样例:2 3 1 5 6 4 8 9 7 这题也太奇怪了,因为输出的时候需要

2020-06-12 12:43:33 478 2

原创 PTA:统计一行文本的单词个数

本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:在一行中输出单词个数。输入样例:Let's go to room 209.输出样例:5思路其实不太严谨,属于哪报错就补哪的那种。ANS:#include <stdio.h>int main(){ char c[1000]; int i,t=0,x=0; gets(c); fo

2020-06-12 09:18:03 1810

原创 PTA: 猴子吃桃

一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?输入格式:输入在一行中给出正整数N(1<N≤10)。输出格式:在一行中输出第一天共摘了多少个桃子。输入样例:3输出样例:10列出来发现还挺不一样,方法有点投机,估计通过也算是偶然。#include <stdio.h>int main()

2020-06-11 17:32:38 623

原创 PTA:查找子串

本题要求实现一个字符串查找的简单函数。函数接口定义:char *search( char *s, char *t );函数search在字符串s中查找子串t,返回子串t在s中的首地址。若未找到,则返回NULL。ANS:char *search( char *s, char *t ){ int i,j,L0,L,m,n=0; char *q,*p; L=length(t); L0=length(s); char a[5]={'N','U','L','L'}

2020-06-08 19:48:25 661

原创 PTA:递归实现顺序输出整数

本题要求实现一个函数,对一个整数进行按位顺序输出。函数接口定义:void printdigits( int n );函数printdigits应将n的每一位数字从高位到低位顺序打印出来,每位数字占一行。裁判测试程序样例:#include <stdio.h>void printdigits( int n );int main(){ int n; scanf("%d", &n); printdigits(n); return 0;

2020-06-08 14:32:38 1185

原创 PTA: 使用函数输出指定范围内的完数

本题要求实现一个计算整数因子和的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有完数。所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。函数接口定义:int factorsum( int number );void PrintPN( int m, int n );其中函数factorsum须返回int number的因子和;函数PrintPN要逐行输出给定范围[m, n]内每个完数的因子累加形式的分解式,每个完

2020-06-06 10:17:27 2080 2

原创 PTA:分类统计字符个数

函数接口定义:void StringCount( char s[] );其中 char s[] 是用户传入的字符串。函数StringCount须在一行内按照letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数的格式输出。裁判测试程序样例:#include <stdio.h>#define MAXS 15void StringCount( char s[] );void ReadString( ch

2020-06-06 09:18:31 2456

原创 PTA:number中找digit

本题要求实现一个统计整数中指定数字的个数的简单函数。函数接口定义:int CountDigit( int number, int digit );其中number是不超过长整型的整数,digit为[0, 9]区间内的整数。函数CountDigit应返回number中digit出现的次数。裁判测试程序样例:#include <stdio.h>int CountDigit( int number, int digit );int main(){ int number,

2020-06-05 16:44:39 514

原创 NOJ: Coin Test

#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ int X,ALL,i,n,j=0; double x=0,y=0,all=0; char a[10000]; gets(a); n=strlen(a); for(i=0;i<n;i++) { if(a[i]=='U') x=x.

2020-06-04 11:40:04 498

原创 NOJ:Music composer

#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ int i,t=0; char a[10],b,c[2],d[2],e[6]; gets(a); for(i=0;i<2;i++) c[i]=a[i]; for(i=0;i<6;i++) e[i]=a[i+3]; b=a[4]; .

2020-06-04 11:06:35 3202 3

原创 NOJ:删除字符

#include <stdio.h>#include <string.h>#include <stdlib.h>int deletechar(char S[],char c){ int i,j=0,n,t=0; n=strlen(S); for(i=0;i<=n-1;i++) { if(S[i]==c) { if(i!=n-1) for(j=i;.

2020-06-01 16:58:28 609

原创 NOJ:字符串替换

有空格输入!#include <stdio.h>#include <string.h>#include <stdlib.h>int main(){ char a[1000],b[1000]; int n,i; gets(a); n=strlen(a); int m=0; for(i=0;i<=n-1;i++) { if(a[i]=='y' && a[i+1]=.

2020-06-01 14:52:02 1516 2

原创 NOJ :特殊要求的字符串

#include <stdio.h>#include <string.h>void sort(char a[],int n){ int i,t,j; if(n%2==0)//0~5 { for(i=0;i<n/2;i++) for(j=0;j<n/2-i;j++) if(a[j]<a[j+1]) t=a[j], a[j]=a[j+1], a[j+1]=.

2020-06-01 12:48:25 1095

原创 NOJ:排列

#include<stdio.h>#include<math.h>int main(){ int a,b,c; int x,y,z; int z1,z2,z3,y1,y2,y3; for(a=1;a<=9;a++) { for(b=1;b<=9;b++) { for(c=1;c<=9;c++) { if(a!.

2020-05-28 17:21:27 1271

原创 NOJ:危险的组合

输出的时候偷了个懒。#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){ int n; scanf("%d",&n); int i,t,ans=0; for(i=1;i<=(n-2);i++)//第一个三连的位置 { t=n-3; ans=ans+pow(2,t); } if(n%2.

2020-05-28 14:22:06 1315 1

原创 NOJ:分数化小数

答案给的代码输出不对居然还AC……因为要判断四舍五入的情况,所以必须有数组。#include<stdio.h>int main(){ int a,b,c,t=0,d[t],i; scanf("%d%d%d",&a,&b,&c); d[t]=a%b; printf("%d.",a/b); for(i=0;i<c;i++) { d[t]=10*d[t]; if(i==(c-1) &.

2020-05-28 10:15:01 1305

原创 NOJ:特殊整数

对着答案改了好一会都没发现是L1位置的问题。#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){ int m,n; double g=0,s=0; scanf("%d %d",&m,&n); int i,j,c; int x=1,b,y; for(b=1;b<n;b++) {x=x*10;} .

2020-05-27 22:23:39 1374

human3D人体模型

一个人体模型,用于导入unity成为物体。(已测试,无骨骼缺失,可用。)可向人物添加脚本控制其行动,用于unity初学者熟悉基本操作。

2019-11-16

Stand Up.fbx

这是一个人形动画从躺倒在地到起立站直的过程,(动画中不包含3D模型,需要自己导入),适用于unity开发和学习。

2019-11-16

Al的参数设置(abaqus)

inp文件包括铝的密度,塑性性能参数,弹性性能参数,切应力参数等等,可根据需要选择。

2019-01-20

红外计数器

一段完整的红外传感器计数代码,使用arduino IDE烧写。

2018-11-04

ESP8266与物联网

用ESP8266 wifi模块实现手机和单片机(arduino)之间的通讯。

2018-11-04

记事本应用

一个简单的记事本应用,(仅支持添加功能和查看功能)。要点:数据库

2018-09-07

51单片机控制温湿度传感器

这是一份关于51单片机仿真的资料,主要方面是温湿度的显示。

2018-04-11

空空如也

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

TA关注的人

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