自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言 Windows下使用gcc制作静态库与动态库

前言将函数封装成库不仅有利于代码的复用, 还可以在不公开源码的情况下给他人使用函数的功能。本文记录了Windows下使用gcc制作静态库的过程。一、测试代码编写测试函数为一个加法函数,它将被制作成静态库,并被函数main()调用。各个文件如下所示,它们被放在同一个目录下。add.hint add(int a, int b);add.c#include "add.h"int add(int a, int b){ return a + b;}main.c#in.

2021-03-30 19:21:31 4316 3

原创 C语言 二进制文件读写实例讲解

前言二进制文件的读写是程序员们经常会遇到的一个场景,难是不难,但如果不熟悉的话,等到要用的时候还是会着急忙慌的。因此本文将结合一个具体的例子来介绍C语言中的二进制文件读写,这也是我自我学习的一个记录。一、函数介绍在本例中,我们尝试在一个文件中写入10个字节的数据,其中每个字节均为0xFF,然后我们再将数据读取出来。为了完成这个任务,我们需要三个函数,我们一个个来看。第一个函数为fopen(),它的函数原型如下FILE *fopen(const char *__restrict__ _F.

2021-03-22 21:02:08 19641 4

原创 嵌入式开发——程序跑飞原因总结

前言在嵌入式软件开发中,程序跑飞是一个比较棘手的问题。为什么说棘手,那是因为当程序跑飞时,往往没有任何错误信息报出来,Log停止的地方通常也不是出现问题的地方,因此这让我们很难定位问题。基于以上原因,我将嵌入式开发中一些常见的程序跑飞原因以及相关解决方案记录在这篇博客下。程序跑飞的原因与相关解决方案1. 栈溢出说明:这可能是最常见的问题了,往往是因为我们定义了较大的局部变量,使得栈空间不够了。解决方案:使用static关键字或者将局部变量定义为全局变量。2. 访问了不该访问的内存说明:这.

2021-03-09 20:23:17 6369

原创 如何让Markdown 表格整体居中?

如何让Markdown 表格整体居中?记录一个Markdown小技巧。在Markdown中绘制表格时,可以使用:来设置表格内容的对齐方式。但是如何让整个表格都居中,使得文章整体更加美观呢?方法如下:在正在编辑的.md文件中加入以下代码:<style>table{ margin: auto;}</style>PS: 这个方法感觉有点野,大家若有更好的方法欢迎分享。...

2021-02-25 20:48:36 10435 1

原创 Matlab——二进制转十进制(包含小数转换)

Matlab中有二进制转十进制的函数,“bin2dec”,示例如下:但是这个函数只能进行整数转换,如果有小数的话:由于需要,最近写了一个小程序,实现带小数的二进制转十进制,先看代码:clcclear all% 整数部分bit1 = 3;bit_integer = [0,1,0];% 小数部分bit2 = 2;bit_decimal = [1,0];intege...

2019-04-03 10:10:13 30197 1

原创 MATLAB实现混淆矩阵评价指标(精度,召回率,F1分数)

记录一下,在学习用SVM分类时,需要对分类结果进行评价,光有正确率是不够的,所以就使用了混淆矩阵。原理的话,很多博客上都有,但为了便于理解程序,就简单讲一下。结合程序,我们的类别是(-1,1),在Matlab中,类别是按照值的大小排的,即-1在前。但为了更加直观明了,解释理论的时候依然是1为正类。  1 -1 1 TP FN -1 FP...

2018-10-27 10:54:20 12221 4

原创 MATLAB中实现数据 [0,1] 归一化

记录一下,在做机器学习时,数据处理部分要花很多精力。数据处理的方式有很多种,今天记录的是[0,1]归一化,该法可以避免在较大数值范围内的特性凌驾于较小数值范围内的特性,先看下原理。设序列代表特性A,对它们进行变换则得到的新序列下面看代码:clcclear all% 最后一列是标签,不做标准化data0 = [1,2,1;3,2,-1;1,4,1];[d_r, d_c]...

2018-10-18 16:09:55 24542 2

原创 MATLAB产生按顺序排列的自然数一维向量

记录一下,一个小技巧。用MATLAB产生"[1, 2, 3, 4, 5,...]"这样的按顺序排列的自然数一维向量。实现这个功能其实只要两行代码:a = randperm(10);b = sort(a);看下结果:补充:其实可以更简单:a = (1:10);...

2018-10-08 15:07:13 20297

原创 树莓派通过串口与计算机通信

希望此文可以解决部分朋友的问题。第一步:用“USB TO TTL”将树莓派和计算机连接。第二步:在计算机安装“USB TO TTL”的驱动第三步:在计算机上安装串口调试助手。第四步:到https://pypi.org/project/pyserial/上下载pyserial安装包,给树莓派装上。第五步:在树莓派终端输入python -m serial.tools.list...

2018-09-29 20:07:49 2140 3

原创 解决在Ubuntu中使用libsvm出现的“LIBSVM library not found”的问题

在Windows下的python中使用libsvm,只需在下载好libsvm后,使用如下代码:import sysimport numpy as nppath = 'E:/libsvm-3.22/python'sys.path.append(path)from svmutil import *但在Ubuntu下的python中使用libsvm,如果直接用上述代码会出现“LIBSV...

2018-09-26 16:34:09 2152

原创 Matlab使用交叉验证

在做机器学习时,经常要用到交叉验证来分配数据,故在此记录一下。所谓交叉验证,就是将一个数据集分为K份,然后取其中一份作为测试集,剩余K-1份作为训练集。然后,取另一份作为测试集,其余K-1份作为训练集......如此循环,直到每一份都做过测试集为止。用的比较多的是10折交叉验证,代码如下:clcclear all% 导入数据data = load('F:\work_matlab\Mat...

2018-09-25 14:41:39 20541 4

原创 Matlab产生动态变化的字符串,便于将数据批量存入表格

记录一下。在使用Matlab跑程序的时候,需要将最后的结果存入表格,例如:xlswrite('xxx.xls',result, 'a1:i1');此处只保存一行,所以 ‘result’ 是个一维向量。上述代码只能适用于跑一次程序的情况。下次跑的时候,我们需要改为:xlswrite('xxx.xls',result, ‘a2:i2’);即存入表格的下一行,从而避免第一行数...

2018-09-04 14:47:13 3791

原创 一根网线实现电脑远程登录树莓派

材料准备:1、网线一根2、树莓派一个3、笔记本电脑一台操作步骤:1、用网线把树莓派和电脑连接起来2、给树莓派连接电源3、将电脑的无线网设置为共享。具体操作为:控制面板——&gt;网络和Internet——&gt;网络和共享中心——&gt;更改适配器设置——&gt;Wlan属性——&gt;共享然后将“允许其他网络用户通过此计算机的Internet连接来连接”打钩。上图是Win10系统,对于Win7系...

2018-07-06 12:13:17 4976 1

原创 Python中一维向量和一维向量转置相乘

在Python中有时会碰到需要一个一维列向量(n*1)与另一个一维列向量(n*1)的转置(1*n)相乘,得到一个n*n的矩阵的情况。但是在python中,我们发现,无论是“.T”还是“np.transpose”都无法实现一维向量的转置,相比之下,Matlab一句“ a' ”就能实现了。那怎么实现呢?我找了个方法。请看:即,我们把向量reshape一下,如此便实现了一维向量与一维向量转置相乘为矩阵的...

2018-06-30 16:18:57 14548 8

原创 解决“TypeError: 'int' object is not callable”

最近碰到了这个问题,记录一下。看个例子:如上图所示,出现这个问题的原因是之前有变量名(len)与函数名(len)重复了。

2018-06-26 08:34:49 10338 1

原创 Python实现识别多个条码/二维码(二)

    这篇博客实现的是“Python实现识别多个条码/二维码(一)”未完成的解码任务。由于系统坏了,软件重装等一系列原因,所以拖到现在。。不好意思哈。    在上一篇中我们已经能把两个条形码找出并框起来了,接下来就是要解码。先上代码吧。from sys import exitfrom Image import _ImageCropfrom PIL import Imageimpo...

2018-06-18 09:54:03 6690 12

原创 Window上,Matlab安装libsvm,libsvmtrain.mexw64无效,mex-setup 失败

根据个人经验,这个问题注意以下几点即可解决。1、软件版本问题首先要认清自己Matlab的版本,这与第二个问题密切相关。2、编译器问题在Matlab的命令行中输入,mex -setup如果正常执行,会跳出编译器选项给你选择。如果没有编译器,则会告诉你没有合适的编译器。那么,如果没有编译器,就需要下载安装一个。下载安装前,请到以下网址查看自己的Matlab支持哪些编译器。...

2018-05-31 16:45:44 4114 6

原创 在Powershell中切换Python版本(包括32位与64位切换)

我装了好几个Pyhton,2.7的有两个,32位的和64位的,3.6的也是这样。关于在Powershell中切换Python版本的方法,网上有不少,不过那是切换针对Python2和Python3的方法,那我想在Python2的32位与64位之间切换怎么办?今天讲个简单粗暴的方法。。。。。。。请直接转到对应版本的Python安装目录。cd 对应版本安装目录然后./python直接运行。另外,想给某个...

2018-04-20 13:39:08 5307

原创 Python实现识别多个条码/二维码(一)

        对于条码的识别程序,网上有很多,不过很多都是只识别一个,并且此处的“识别”指的是找出图片中的条码,并没有对条码进行译码。本篇博客将先实现第一个功能,即,找出图中的多个条码。下篇博客会实现第二个功能,即,对找出的条码进行译码。下面看代码:from sys import exitimport numpy as npimport cv2 # 加载图片并把它转换为灰度图片ima...

2018-04-20 13:01:05 9000

原创 用Python将数据写入Excel表格中

    最近在学习Libsvm,使用它需要有Libsvm格式的数据。虽然有FormatDataLibsvm.xls可以更改数据格式,但是要把原始数据手动输入Excel中可就不容易了。所以就用Python写了个简单的程序将数据存入表格中。    上代码import numpy as npimport xlwt#读入数据data_file = 'D:/.../ionosphere.data'#...

2018-03-22 14:35:17 19326

原创 解决SimpleMKL Toolbox例程exmklclass.m无法运行的问题

记录一下,解决方法很简单,但却花了我不少时间。解决方法:将options.efficientkernel=1;改为options.efficientkernel=0;

2018-03-21 21:32:29 1034 8

原创 解决Python中“unindent does not match any outer indentation level”问题

爬坑心路省略N字......问题解析:Python程序出现这个问题是因为制表符与空格混用,建议全部改为空格。设置方法:我用的是VS2017,全选程序,然后,编辑——&gt;高级——&gt;将选定行中的制表符替换为空格。...

2018-03-19 09:51:36 2519

原创 Python实现投影法分割图像(二)

        在上篇博客中,我们已经实现了水平投影和垂直投影图的绘制。接下来,我们可以根据获得的投影数据进行图像的分割,该法用于文本分割较多,所以此处依然以上次的图为例。        先把上次的两幅图搬过来,方便讲解。                        上面两图分别从垂直和水平方向描述了图像中文本的分布。我们想象一下,将两幅图重叠起来(当然这里比例要调整下),那么我们就能得到四个重...

2018-03-02 15:28:39 11823 16

原创 Python实现投影法分割图像(一)

投影法多用于图像的阈值分割。闲话不多说,现用Python实现。上代码。import cv2import numpyimg = cv2.imread('D:/0.jpg', cv2.COLOR_BGR2GRAY)height, width = img.shape[:2]#resized = cv2.resize(img, (3*width,3*height), interpolation=c...

2018-02-26 09:27:40 12782 4

原创 Windows平台,在Python上安装Shogun

    最近在学习SVM,找了很多的软件包,但发现很多软件包都是Matlab平台的,我比较喜欢用Python嘛,就想找个能在Python上使用的SVM包。很多人都在用scikit-learn,这个我也在用,不过貌似它没有多核SVM。(可能它有,也许是我学的不够,所以还没发现)。        由于过程艰辛,请允许我唠叨一下。。。。。找了好久终于找到了Shogun,它是有多核SVM的。但是网上的关于...

2018-02-10 16:31:16 2533 34

空空如也

空空如也

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

TA关注的人

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