自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 似然函数likelihood function,最大似然估计的通俗理解

最近学习NLP接触到很多的概率模型,在深究其原理的时候遇到了很多很多的公式。开始觉得几年前学习的概率论是真的有用。(可惜都忘光了)在这里记录分享一下比较基础的概念以加深自己的理解。似然函数:先从概率讲起,如果问一个硬币丢出正反的概率各是是多少,很多人会说1/2对吧。这是建立在我们的经验以及认知之上,所以我们给出了1/2的答案。但是有时候面对一件未知的事情,我们并不能给出一个准确的答案。比如问你一片沾有黄油的面包丢在地上,有黄油的那面接触地面的概率是多少。你肯定不能给出一个切确的数字(因为你没

2021-01-10 11:44:36 1178

原创 keras模型保存HDF5和H5出现的问题(ValueError: Parent directory of xxx.hdf5 doesn‘t exist, can‘t save)

keras版本以及tensorflow-gpu 版本:Name: KerasVersion: 2.1.3Name: tensorflow-gpuVersion: 1.10.0问题重现假设model是一个已经训练好的模型,现在要用keras中自带的save_weights保存模型的权重。一般我们都直接保存为‘xxx.h5’(save_weights只会保存权重)。我尝试用下面一行代码将其保存下来model.save_weights('cifar10.hdf5')然后就报错如下

2021-01-01 16:32:26 3041

原创 基于python的一个简易的规则引擎(规则解析器)

功能说明:以一定格式自定义规则文件,保存为txt格式,用此解析器来消化这种格式的规则目前只支持每条规则最多两个条件,两个条件间的逻辑运算只支持and 和 or条件值和结果值只接受string,bool,int,float类型,输出目前只支持等于(=)操作符。以下是调用操作(对应最后的示例):if __name__=='__main__': rt=ruletable("RULE1.txt") rule_table= rt.rule_table # which re

2020-08-01 23:16:08 4791

原创 python栅格地图上路径规划作图

工具 spyder(python3.7) matplotlib库在进行路径规划仿真的时候,我们希望最后得到的结果不仅仅是一个 填满数字的数组,而是将它变为更加直观的图片(spyder数组自带染色,很赞)这是我的A*算法得到的最后的结果,数字意义如下:数字 0 1 3 4 6 含义 可以通行 障碍物 被加入openlist的节点...

2020-03-22 15:12:50 15529 31

原创 Unity 3D 中基础的三种传值技术(脚本组件,类静态字段,SendMessage)

脚本组件,类静态字段,SendMessage,这三种技术是比较基础的三种传值技术。接下来记录一下三种技术的用法。1.脚本组件就是利用一个游戏实例中带有的组件来实现值的传递,要用到 GetComponent()这个方法,它叫做 “获得组件方法”。实例演示:首先写好两个脚本GetValue.cs和getcomponet.cs他们的内容如下:首先是getcomponent.cs...

2020-03-08 22:39:58 2443

原创 (C++ 读取字符串时出错)自定义的类指针作为返回值

记录一个比较简单的异常以及解决办法。这就是我遇见的一个异常。以下是源代码#include<iostream>using namespace std;class A // 自定义的一个类{public: A() { s = "A类"; i = 6; } void show() { cout << s<<endl...

2020-01-30 22:36:47 3913 1

原创 C++中 char* 、string、 char、char[]在各种情况下的输入与输出

之前在自己练手写代码的时候总是会在字符串,字符这一块卡住,今天写下这篇文章给自己长长记性!其实在代码过程中会遇到很多很玄学的问题。刚刚在尝试的时候找到了之前写的测试字符串的程序,放到另外一个工程里跑就没有问题,在原来的工程文件里跑就报错:(期间vs2019 升级了)如果有知道原因的大神还请帮忙解答一下疑惑。在开始记录之前,我用的是vs2019的16.4.2,之前用的2019的某个版本以...

2020-01-17 00:53:11 23481 5

原创 ROS学习笔记【4】:ROS通信架构 service action parameter service

publish和subcribe是单向传输,但这种传输方式有时候并不能满足我们的要求所以我们就有了service,同步通信方式,node间通过request-reply方式通信过程描述:node A需要某个数据,发出了一个request调用service,然后在原地等候(阻塞),直到服务器端返回结果,然后nodeA继续执行。和之前的topic的对比:service通信的数...

2020-01-12 16:28:29 494

原创 unity3D 初学项目报错IOException: Win32 IO returned 234我的解决方案

最近学习unity3d,unity提供了很多教学例子,并且有配套的教学指示。之前我有下载学习这个页面中的例子工程学习,一切正常。因为之前默认是vs2010打开C#脚本,我电脑中还装有VS2019,所以我卸载了vs2010,在这之后项目还是正常运行。可是有一次我翻看文件目录发现VS2010还残留了一个5G的文件夹,我想都没想就删除了,之后我再通过以下这个页面打开完整项目就会报错如下:...

2020-01-11 23:16:58 6727 8

原创 ROS学习笔记【3】:ROS通信架构(上)master topic

通信架构:理解为ROS程序运行起来后会形成的网络结构和框架机器人常常带有很多很多的传感器,机器人的正常运行离不开传感器的协调工作。这意味着有很多的进程需要同时进行。所以我们要关注如何管理这些进程和他们之间的通讯。master:节点管理器master的作用1.每个节点启动的时候都需要向master注册 2.管理node之间的通讯过程:node1要开始运行,node1必须要去ma...

2020-01-09 23:31:58 433

原创 ROS学习笔记【2】:工程结构,catkin,package

工程结构:我理解为一个项目的文件系统的结构。比如在C++中有放源文件的,有放头文件的,在ros的一个工程中,自然也有相应的文件结构。catkin 是ROS定制的编译构建系统(Cmake的扩展),catkin是用来编译ros程序的。catkin工作空间,可以对功能包的文件夹进行管理和组织。指令catkin_make:1.建立工作空间 2.编译建立目录的时候一定要包含有src这个文...

2020-01-06 23:38:01 579

原创 ROS学习笔记【1】:ubuntu 16.04安装ROS 和Roboware studio

由于毕设涉及到移动机器人的算法设计,开始学习ROS(Robot Operating System)下午花了很长时间在ROS的搭建和roboware studio的搭建(以及QQ linux版本的安装hhh)上面,搭建环境最难受了。。记录一些值得记录的相关知识:首先是安装软件包的时候,下载到.deb文件后,双击,打开了“ubuntu软件”这个界面,上面有安装,可是点下安装根本就没有任何反...

2020-01-03 19:02:38 811 1

原创 opencv-python 二值图像的模板匹配实现

之前写过如何获得一个指静脉的二值化特征图像,传送门:opencv-python 用Gabor滤波器实现指静脉血管区域二值化纹理特征提取然后这篇文章记录我是如何来做特征模板匹配的。匹配评分原理:原理:根据上述二值纹理特征提取方法,获取手指静脉纹路的二值 纹理图像将已注册图像的 ROI 区域与待认证图片的 ROI 区域均采用二值纹理特征提取方法获得两张纹理前景图像,然后计算两张纹理前景...

2019-12-24 21:18:17 4010

原创 opencv-python +ski-image实现指静脉的LBP(局部二进制模式)特征提取

LBP:我对original LBP的理解是:对一个灰度图像的每个像素,用这个像素周围一格或者N格的其他像素做比较,最后将这周围(一般是8个)得到的比较结果串起来得到一个8位二进制的串,用这个8位二进制数在一个同等大小的矩阵中的同等位置替代原来像素信息,遍历整个图像即可得到这副图像的LBP图像。原理上来说,original LBP 具有灰度不变性。而如果用一个圆形的8个(或者更多)等分点来代替...

2019-12-23 22:52:05 2604 4

原创 spyder 大写变量在变量列表中并不会显示

今天准备做LBP的特征提取,然后我读入一个图片,再用算法对图片进行处理,但是突然发现在变量列表中找不到原图???代码如下:from skimage import featureimport cv2 as cvimport numpy as npclahe_test=cv.imread('clahe_test.bmp',0)ROI=cv.imread('clahe_test.bmp...

2019-12-23 13:05:55 6139 6

原创 opencv-python 用Gabor滤波器实现指静脉血管区域二值化纹理特征提取

之前写的都是有关于ROI的区域提取,但是对于提取到的区域我们需要提取它的特征,才可以在后期的特征匹配中排上用场。这篇文章主要记录我是如何对指静脉图片做二值纹理特征提取的原理:一种比较特征提取简单的方法:用Gabor滤波器提取各个方向上的纹理,然后将他们融合在一起,做二值化处理。原理非常简单,但是我进行的过程十分艰辛。首先要了解什么是gabor滤波器,这篇文章可以让你有一个大概的认...

2019-12-22 16:48:21 3592

原创 有关我的ROI提取的一些说明(存在的问题以及改正)

在继续用之前写的ROI提取的代码进行实验的时候发现了自己存在的几个问题。想到博客中都以及写完了,但是本着负责任的心理我肯定要回去修改。实话说心态有点崩我已经在原来的博客中尽量的修改了,但是可能还是有些纰漏,特地在这篇中说明一下。有关canny算法的两个参数(上下阈值),这两个参数是需要自己去选取的,而不是直接用我记录的值,只要手指内部不要有非0的像素即可。这里左边的中间有一个点,是...

2019-12-21 14:29:48 764

原创 opencv-python 指静脉的ROI获取(拟合手指中线加旋转)

阅读过我的上一篇博客后,都知道应该如何在canny处理后提取到我们的手指轮廓,剔除背景轮廓了,还没看的点这里上一篇博客然后我们要做的事情很简单,就是拟合手指的中线,并且旋转我们原来的图像以待进一步的处理。中线的获得:我拟合中线的办法就是采取手指每一对上下(两侧)轮廓的平均值,然后将这个中间位置的坐标记录下来。import cv2 as cvimport numpy as np...

2019-12-18 20:28:13 2143

原创 opencv-python 指静脉的手指轮廓提取实现

由于指静脉由于采集时候手指的不固定,所以同一手指的不同照片可能会有旋转。我们提取手指的轮廓就是为了拟合出手指的中线,从而对手指的图片进行旋转矫正。在opencv中提供了好几种方法供我们用来提取图片中物体的边界与轮廓。有Sobel算子,拉普拉斯算法等等,但是应用在我的图片上一点都不友好:中间的是原图,不知道是不是因为我没有对原图进行平滑处理,如果用这两种算子来进行进一步的处理的话,难度巨...

2019-12-18 17:41:30 3352 2

原创 opencv-python 中直线拟合函数cv.fitLine()的2D直线拟合(适合小白观看)

在提取指静脉的过程中,我们需要提取有用的ROI区域。而这时候,我们会采取将手指两边中点拟合成一条直线,求得这个直线的直线方程,然后得到旋转的角度,以便对原来的图像进行旋转操作。当我们知道如何取得手指的边缘中点后,直接用fitLine函数可以方便的按我们想要的方式得到期望 的直线。首先是官方文档上的函数原型:然后我会通过实例来解释每一个参数的意义,代码十分简单:import cv...

2019-12-18 14:56:15 8826 3

原创 opencv-python 指静脉的ROI(感兴趣区域)的指节提取(原理+代码)

静脉采集过程中,由于手指自由度比较大,所以可能会有手指旋转,平移等现象,这有可能使得同一个手指的两次采集图像差别较大。这是我们不希望看到的。所以对图像进行ROI的提取非常有必要,也是图像预处理的一个过程。本文:阐述我是如何对一张图片进行指节的区分的原理:由于指节的两端有关节腔,而关节腔内部主要是软骨和组织液,这样会使得在图片中关节腔的位置会比较亮,而根据这一特点,我们就可以方便的知道指节是...

2019-12-16 20:23:59 5476 8

原创 opencv-python 限制对比度自适应直方图均衡化(CLAHE)(我的疑问与示例)

限制对比度自适应直方图均衡化的主要计算过程需要先了解一下https://blog.csdn.net/u013066730/article/details/83000004这个链接说的很清楚。看了几遍不是很明白具体是怎么操作的,我的理解是:将原来的图像划分为不重叠的几个区域(一般是8*8)然后在每个区域内,限制对比度(如何限制?不明白),并且把一部分特别这是原来博文的截图,这个图我...

2019-12-15 22:05:26 8723 9

原创 opencv-python 对彩色图像做直方图均衡化(+自己实现源码)

环境:spyder(python 3.7 ) opencv-python (4.1.2.30)opencv-python中有一个函数cv.equalizeHist(single_channel_img)可以非常方便的对图像进行直方图均衡化处理直方图均衡化增加了图像的对比度,待会我们通过例子就可以看出图片明显的区别,这里需要注意的一点是, src参数必须是8比特的单通道图像,否者报错...

2019-12-14 20:35:25 6531 3

原创 opencv-python的图像基础逻辑运算及细节、注意事项(与或非及掩膜)

主要记录一下bitwise_and(),cv.cv,bitwise_or(),cv.bitwise_not()这三个最基础的逻辑运算(与或非)首先cv.bitwise_not()参数如图,虽然参数列表上面有三个参数,但是我使用的时候一般都是只用一个参数circle = np.zeros((280,300),dtype="uint8")cv.circle(circle,(150...

2019-12-11 18:53:41 1357

原创 opencv-python的像素索引记得要交换X,Y坐标!(小问题)

import cv2 as cvimport numpy as nprectangle = np.zeros((280,300),dtype="uint8")cv.rectangle(rectangle,(90,120),(220,170),100,-1)cv.imshow('rectangle',rectangle)cv.waitKey(0)cv.destroyAllWindo...

2019-12-11 17:26:59 1827

原创 opencv最基础的一段代码需要注意的问题(spyder python3.7)

代码如下import cv2import numpy as nppath ='cat.jpg'img=cv2.imread(path,0)cv2.imshow("test",img)cv2.waitKey(0)cv2.destroyAllWindows()imread() 图片读入第一个参数是路径,第二个参数是代表着以灰度的形式读入这里注意到提到了al...

2019-12-10 11:15:57 242

原创 C++数组名字作为函数参数时出现的问题

直接上代码void sort(int a[]) { int len = sizeof(a) / sizeof(int); cout << "len=" << len<<"sizeofa="<< sizeof(a)<<endl;}int main(){ int a[]={1,2,3,4,5}; ...

2019-12-09 15:54:04 577

原创 anaconda和python编译器的关系

之前安装过python3.x的版本,后来又安装了anaconda。今天准备学学opencv-python ,然后在cmd中输入pip install OpenCV-python打开了spyder,然后import cv2 居然报错,告诉我没有这个module,我想着不是安装好了吗怎么会没有后来仔细一看,原来把cv2安装到之前安装的那个3.x版本里面去了,anaconda下的pyth...

2019-12-08 19:26:15 5282

空空如也

空空如也

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

TA关注的人

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