自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (4)
  • 收藏
  • 关注

原创 树莓派3b+指南(二十二)暴力解决默认声卡设置失效问题

前一阵子一直在苦恼一个问题,就是按照网上的各种方法设置USB为默认声卡,都在重启之后失效,而且再次设置无法再次生效,非常苦恼,今天在网上找到一个暴力的办法,思路是把板载的声卡在config.txt中注释掉,这样,系统就不会加载板载声卡了,只能选择USB声卡,亲测有效。sudo nano /boot/config.txt打开config.txt文件,找到:dtparam=audio=on...

2019-05-12 11:53:26 2872 2

原创 树莓派3b+指南(二十一)bmp180

bmp180.pyimport timeimport smbus# BMP085 default address.BMP180_I2CADDR = 0x77# Operating ModesBMP180_ULTRALOWPOWER = 0BMP180_STANDARD = 1BMP180_HIGHRES = 2BMP180_ULTRAHIGHRES = 3# BMP085 Re...

2019-04-17 08:53:10 805

原创 树莓派3b+指南(二十)LCD128128显示二维码

main.pyimport RPi.GPIO as GPIOfrom qr import *import time#写命令def transfer_command(cmd): GPIO.output(csl ,GPIO.LOW) GPIO.output(rs ,GPIO.LOW) for i in range(8): GPIO.output...

2019-04-15 11:27:07 842

原创 python+opencv实现二维码定位(二)

思路1)二值化2)膨胀与腐蚀3)找到所有矩形并进行筛选(筛选过程可以加入上一篇文章)4)对所有满足条件的矩形进行二维码检测import cv2import copyimport numpy as npimport pyzbar.pyzbar as pyzbardef prethreatment(img0): #read img and copy im...

2019-04-11 20:39:41 5050

原创 python+opencv实现二维码定位(一)

参考:思路和代码二维码补充知识基本思路是:1)定位点的轮廓有三层轮廓2)每个定位点的轮廓中心点一样的3)三个定位点可以围成一个等腰直角三角形补充思路:当背景过于复杂的使用时候无法正确找到二维码位置,按以下思路尝试改进:1)阈值分割2)膨胀或者腐蚀3)扣取所有正方形区域,逐一检测4)然后再进行上面的操作import numpy as npimport copydef ...

2019-04-11 15:18:31 10195 2

原创 鱼C工作室c++(P43-44)链接和作用域

存储类(storage class)auto 执行到所在花括号结束时被释放static  存储在静待存储区,生命周期从申请到程序退出   (有external或internal链接)extern  引入其他文件中的变量,不会再次开辟内存register 存储在CPU的寄存器中,速度快,但内存有限链接和作用域凡是有名字的东西必然属于三者之一:外链接(external)内链接(...

2019-03-27 21:54:13 325

原创 鱼C工作室c++(P40-42)命名空间和模块化编程

头文件作用存放函数或类的声明,但不要放它们的实现(可放,但不满足规范)在.cpp文件中放函数或类的实现存放模板和全局性的常量注释头文件中要写明函数等的注释:用途、用法等要写明修改日期,作者等使用#include "headfile.h" 编辑器将到当前子目录以及当前开发环境中的其他逻辑子目录中寻找头文件,为了消除重名猜测,可以使用绝对路径:#include "./...

2019-03-27 21:18:40 379

原创 老九C++零基础学习(十五)类和对象

15.2 搞个对象补充 :https://blog.csdn.net/weixin_44086593/article/details/88699833外部不能直接访问类的私有成员。.hpp 和 .h 文件的区别在.h文件中:(只有构造函数和析构函数的声明)在.hpp文件中:(声明并实现构造、析构函数)类中函数的定义:返回值类型 类名::成员函数名(参数列表) { }举例...

2019-03-20 22:30:42 262

原创 老九C++零基础学习(十四)默认参数、函数重载和模板函数

14.1 默认参数14.2 函数重载编译器会根据传入参数的不同而执行不同的函数:但如果多个函数定义的参数相同时,则会报错:14.4 函数模板例如:自动识别传参类型,很方便。...

2019-03-20 20:14:25 101

原创 老九C++零基础学习(十三)内联函数和引用参数

13.2 内联函数简介相当于把函数内的代码复制到函数调用处执行,提高速度。(普通函数是根据指针找到函数所在内存空间执行。)速度快,但是内存的牺牲比较大。使用前世今生在c中,用define作“替换”操作:好处显而易见,可以输出很多类型。但是缺点也是很明显的,他实际上是替换,不是真正的函数,所以会有如下的结果:S(5+10) // <<==>> ...

2019-03-20 11:21:52 143

原创 老九C++零基础学习(十一)(十二)函数和头文件

十一都是实战就不做笔记了12.1 函数定义函数三要素:返回值类型,函数名,参数列表。引用符号 &的用法:相当于把指针传了进去,所以函数内的操作指向实参,所以会改变实际值。12.4头文件制作传参为数组参数为数组的时候,实际上传的是数组指针,没有办法在函数内判断数组的大小;所以一般情况下会在传参的时候,把数组的长度在外部传进来。函数的使用:在使用的程序中:#in...

2019-03-19 22:19:19 171

原创 老九C++零基础学习(十)动态分配内存与指针二维数组

10.2 动态分配内存;如果使用指针指向命名好的内存空间,例如:int num = 8;int* ptr_num = &num;那么在编译时就已经开辟了内存空间。如果使用指针指向new 数据类型,例如:int* ptr_int = new int;则是在运行的过程中,运行到该行时,指向新开辟的内存空间,实现动态内存分配。*注意:*一定要注意delete的方法;尽量不要...

2019-03-19 17:22:56 131

原创 老九C++零基础学习(九)指针和引用

9.2 指针补充地址赋值方法:double* ptr_num = &num使用中 *ptr 是取ptr这个指针指向的值举例:注意!如果是char 类型指针,会出错:例如char* str = "我真帅!" //char*表示字符串所以这是实际是把&num的地址当做字符串赋给了ptr_num,打印的时候也是将地址按照字符串打印了出来,所以会出错。...

2019-03-19 16:55:09 216

原创 老九C++零基础学习(七)(八)数组和向量容器

7.5 数组(1)语法与初始化(2)sizeof(nums) / sizeof(int) 得到数组大小ps:不适合string类型

2019-03-19 11:11:09 182

原创 老九C++零基础学习(五)(六)循环

5.2 while(1)while:while(条件){ break}(2)do-while:

2019-03-19 10:18:12 162

原创 老九C++零基础学习(四)关系、逻辑运算符和条件结构

4.1 关系、逻辑运算符(1)关系运算符显示true 和 falsecout << boolalpha(2)逻辑运算符4.2 位运算符与sizeof运算符(1)位运算符按位非 难点cout  << ~2 << endl;//显示为:-3解释~2(十进制) <==> ~00000010(二进制)1....

2019-03-19 09:31:33 215

原创 老九C++零基础学习(三)cin、cout和算术运算符与表达式

3.2 cin cout(1)cout 显示精度cout << fixed;//以小数形式显示(不用的话可能会确实或用科学计数法显示)(2)控制小数位#include<iomainp>cout.setprecision(2); //显示两位小数(3)设定显示宽度cout << setw(8)<<"|"; //将setw(...

2019-03-19 08:54:53 395

原创 老九C++零基础学习(二)变量声明和使用

2.3初识变量(1)变量的命名规则(2)命名规范(尽量)a.不用拼音b.不用单个单词c.用有含义的词组2.4 数据类型(1)2.4 声明和使用(1)普通类型int i = 0;int a, b;float cc = 10.0f //有没有f都一样(2)常量const float Pi = 3.14f//在C语言中,用 #define Pi 3....

2019-03-18 21:26:52 166

原创 老九C++零基础学习(一)一些约定和规范

本系列作为学习C++的学习笔记,视频在b站搜索 C++入门老九学堂 即可。这一章前几节都在介绍C++,没有太多内容,故没有记录。1.4 HelloWorld(1)第一个程序“HelloWorld.cpp”#include <iostream>int main(){ std::cout << "HelloWorld!" << std::endl;...

2019-03-18 18:21:18 888

原创 树莓派3b+指南(十九)MG995舵机解决防抖问题

MG995舵机解决防抖问题下面留下代码和说明import multiprocessing as mpimport timeimport RPi.GPIO as GPIOdef gpio_init(): #初始化GPIO,设置初始角和信号输出口36 global pwm global num_ global angle angle = 90 ...

2019-03-16 15:27:10 7142 6

原创 树莓派3b+指南(十八)高帧率opencv卡顿问题解决方案

高帧率opencv卡顿问题解决方案参考了以下的文章:http://brucedone.com/archives/1193如果是python3,最后复制的不是cv2.so文件,而是在cv2.so同级目录下有一个python3目录,将里面的.so文件复制到相应的位置就可以了。...

2019-03-11 09:56:16 8047

原创 树莓派3b+指南(十七)程序自启动与桌面快捷方式

程序自启动与桌面快捷方式在研究树莓派的时候,顺便接了个活动,用途是商业展示机器人。我的理解应该是开机启动,然后用固定的按键切换语音识别、播放商业视频和人脸识别什么的。所以就涉及到了程序开机自启动。后来跟金主谈这个是,金主并不需要,觉得这样操作起来不直观,想用鼠标来点。稍微有点意外。那又出现了个问题,快捷方式怎么解决呢,后来查资料,发现,两者,没啥大的区别,快捷方式程序中只有一点点区别,然后把这...

2019-03-07 09:10:18 3949 2

原创 树莓派3b+指南(十六)安装使用pocketsphinx

sudo apt-get install python3-devsudo apt-get install libevent-devsudo apt-get install libpulse-devpip3 install pocketsphinx

2019-03-03 05:52:01 2014 2

原创 树莓派3B+指南(十五)omxplayer的安装与使用

omxplayer的安装与使用需要用python来控制播放视频,所以就找到了这个播放器,很好用。看了官网文档,安装使用都写的比较明白了。官网地址:https://python-omxplayer-wrapper.readthedocs.io/en/latest/#安装:pip3 install omxplayer-wrapper使用:from omxplayer import OM...

2019-03-02 15:18:58 5160 1

原创 树莓派3B+指南(十三)pyaudio录音与播放

pyaudio录音与播放在网上有很多范例,但是在播放wav文件的时候,总是卡在循环中出不来,最后在官方的文档中找到了正确的使用方法。现在就有点疑问,官方写的好好的,为什么总有人愿意自己瞎改?有点想不通。import wavefrom pyaudio import PyAudio,paInt16framerate=16000NUM_SAMPLES=2000chunk=2014chan...

2019-03-02 14:28:32 3734 1

原创 树莓派3B+指南(十二)百度语音aip安装与使用

百度语音aip安装与使用前面的文章snowboy已经可以使用唤醒词了,接下在我们使用百度的语音识别来让树莓派听懂我们的话。基于python目前只有在线模式的,希望百度可以早些日子给出离线的SDK,那么会方便多了。在百度的技术文档中其实写的很清楚了,但是自己整理一下,便于自己再次阅读。https://ai.baidu.com/docs#/ASR-Online-Python-SDK/top1....

2019-03-01 20:34:13 5983 2

原创 树莓派3B+指南(十四)GPIO

GPIO这篇文章给了很好的举例:https://www.jianshu.com/p/008339095fd6之词就结束了,希望可以帮到大家!

2019-02-24 18:39:41 998 1

原创 树莓派3B+指南(十一)安装配置snowboy

安装pyaudio解决方案因为要做一个语音识别的东西,用到了SpeechRecogniton(教程:https://www.youtube.com/watch?v=31DZfkYRvI4&amp;amp;amp;amp;amp;t=8s ),里面要调用pyaudio,但是配置了很久,各种原因失败,最后用了下面的方法成功安装。1.先是换了镜像源:https://www.cnblogs.com/likai-abc/p/91784...

2019-02-22 15:22:11 6415 9

原创 树莓派3B+指南(十)3.5寸电阻屏的安装

3.5寸电阻屏的安装http://www.waveshare.net/wiki/3.5inch_RPi_LCD_(A)不是很理想,电阻屏的刷新率太低了。

2019-02-19 10:15:36 1655

原创 python补充之Multiprocessing(六)lock锁

python补充之Multiprocessing(六)lock锁上一章写了关于共享内存的问题,但是出现一个问题,如果多个进程对同一个共享变量做处理,会发生什么?应该会你抢过来处理一点,我抢过来处理一点,可以想象处理的结果很难控制和预测。所以需要lock锁,来保证一个进程完成之后,他所用的共享变量才可以被其他进程使用。下面写了两个代码,来做一个比较。以下是没有lock的代码:import m...

2019-02-18 08:33:44 6993

原创 python补充之Multiprocessing(五)共享内存

python补充之Multiprocessing(五)共享内存在多个CPU或核共同工作的时候,在一个CPU或核中定义了global变量是没有办法传入另一个CPU或核中的。这时候就需要共享内存来完成变量在不同CPU或核中的共享。代码也很简单,如下:import multiprocessing as mpvalue=mp.Value('d',1) #d表示浮点数,i表示整数,其他的请自行百度...

2019-02-17 22:11:42 5104

原创 python补充之Multiprocessing(四)进程池Pool

python知识之Multiprocessing(四)进程池Pool上一章写了几个增加运算速度的方法,这一章记录一下进程池Pool,是一个多进程多核运算的方法,可以说是吧CPU发挥到极致的方法了。下面代码给出演示:路径:/home/pi/Desktop/My_Project/Python_Learning/4_MultiprocessingLearning.py代码:import m...

2019-02-17 20:27:01 779

原创 python补充之Multiprocessing(三)Threat、Multiprocessing和Normal方法速度比较

python知识之Threat、Multiprocessing和Normal方法速度比较thread是多进程multiprocessing是多核都有优势,但是multiprocessing提升速度更快,thread方法甚至有时候会比普通方法更慢。尝试用三种方法同时计算两次复杂的运算比较运行时间。下面代码给出演示:路径:/home/pi/Desktop/My_Project/TEXT/3...

2019-02-17 19:48:00 573

原创 python补充之multiprocessing(二)Queue的使用

python补充之multiprocessing(二)Queue的使用在进程中的函数不能有返回值,如果需要返回值,需要使用Queue来暂时保存返回值,等进程结束后再统一取出。Queue的存储就像是一个盒子,一个一个摆上返回值,取的时候会从第一个开始,一个一个取出。编号以下代码:路径:/home/pi/Desktop/My_Project/TEXT/3_MultiprocessingLea...

2019-02-17 18:22:35 2434

原创 python补充之multiprocessing(一)多线程的建立

python补充之multiporcessing(一)进程的建立编写好以下代码:路径:/home/pi/Desktop/My_Project/TEXT/3_MultiprocessingLearning.py代码:import multiprocessing as mpimport threading as tddef job(a,d): print('aaaa')i...

2019-02-17 17:15:17 450 1

原创 树莓派3B+指南(九)解决帧率不足的问题

解决帧率不足的问题这个可能是我目前遇到最大的问题了,如果帧率很低,是没有办法满足人脸识别跟踪的。希望下面的方法可以有效解决这个问题。查看网上资料,使用多进程,多核处理会快一些。但是我对这方面的知识不是很了解,首先要补充一下多进程,多核的知识。接下来几篇,先补充一下python的multiprocessing模块。...

2019-02-17 16:50:19 8696 5

原创 树莓派3B+指南(八)人脸比对(python+Dlib+OpenCV)

人脸比对(python+Dlib+OpenCV)前面已经实现了人脸的检测和特征点的标定,这篇文章记录一下人脸比对的代码。原文参考:https://blog.csdn.net/hongbin_xu/article/details/78390982代码中需要用到两个模型,跟上一篇文章一样,已经是训练好的,拿过来用就可以了。模型下载:正在上传。下面的以后再补充。...

2019-02-17 13:14:00 966

原创 树莓派3B+指南(七)人脸特征点标定(python3+Dlib+OpenCV)

人脸特征点标定(python3+Dlib+OpenCV)这个很有趣,也便于对后面的东西做理解,玩一玩还是很有意思的。这篇文章同样是从网上借鉴来的,原文参考:https://blog.csdn.net/hongbin_xu/article/details/78348086Dlib提供了很好的训练模型,可以识别脸部68个特征点,模型需要先下载。下载地址:正在上传,成功后添加在此处。import...

2019-02-17 11:18:30 1093

原创 树莓派3B+指南(六)第一个人脸检测程序(python3+Dlib+OpenCV)

第一个人脸识别程序前面的准备工作都已经做好了,现在准备进行人脸识别程序的编写了,其实也说不上编写,网上都有现成的,但是并不适合每个人的需求,下面我将对应自己的需求,做一些修改并写在下面,大家可以做一个参考,有什么问题,可以留言交流。我是一个程序小白,如果有大佬给指点指点,那就太好了。总之欢迎留言。一会补全。...

2019-02-17 08:34:54 1679 1

原创 树莓派3B+指南(五)在树莓派上安装OpenCV for python3

在树莓派上安装OpenCV上一篇安装好了Dlib,做图像处理当然少不了OpenCV,本文就对本人安装OpenCV的过程进行记录。安装过程中遇到些问题,过程中也刷了不少次系统,还好最后找到了可行的方法。1、安装OpenCV在树莓派终端输入pip3 install opencv-python安装“完成”2、遇到的问题与解决办法当我以为安装结束,可以大吉大利今晚吃鸡的时候,发现进入pyt...

2019-02-16 19:55:57 1519 1

shape_predictor_68_face_landmarks.dat

这个是Dlib特征点标定需要的模型,已经训练好了,效果很好。

2019-02-17

树莓派Opencv安装教程并解决一些import报错问题

在网上找了很多资料,尝试在树莓派中安装opencv和dlib。有用berryconda的,但是berryconda并不能直接安装dlib,所以自己摸索,不用berrycongda安装,而是用pip3,成功安装了opencv和dlib。希望对大家有用。

2019-02-16

树莓派Dlib安装教程

自己要用树莓派,而且要在上面安装Dlib,在网上找了好多方法都不可用,最终在一个英文文档中找到了答案,亲测可用,希望对大家有帮助。

2019-02-16

树莓派系统安装以及SSH和VNC网线连接教程

在网络上有大量的树莓派系统安装教程,大部分是可用的,但是SSH和VNC的教程比较杂乱,有的根本不能用。这是自己摸索出来一个可用方法,CSDN的文字编辑感觉难受,自己做个文档发出来大家分享。

2019-02-16

空空如也

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

TA关注的人

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