2017-01-01 Lu Huang
本文主要介绍在ubuntu16.04上配置nvidia驱动、cuda和cudnn,我的操作系统是ubuntu 16.04.1 LTS Desktop 64bit,GPU型号是Tesla C2075(一款相对较老的GPU)。本文的组织结构如下: 1.准备工作 由于在安装显卡驱动的过程中可能会出现重启后在登录界面反复重复的问题,因此后面可能会使用命令行的方式进行进一步设置。建议通过网络ssh的方式访问机器,记下机器的ip,同时安装openssh-server。 sudo apt install openssh-server 同时需要将Intel自带的显卡功能禁用,这部分主要依靠在启动时修改BIOS,具体方法请google。然后检查 继续阅读 »
2017-01-01 Lu Huang
本文主要介绍在有NVIDIA GPU的ubuntu16.04上配置cuda8.0,opencv,caffe的环境。由于之前我也写过关于cuda配置和opencv编译的博客,这里主要还是关注caffe的编译。 1. 配置cuda和cudnn cuda和cudnn的配置可以参考我之前写过的一篇文章:ubuntu16.04配置cuda。请注意:cudnn只支持computing capacity在3.0(含)以上的GPU上运行,所以在安装cudnn之前请检查你的GPU版本是否支持cudnn。检查方法在文中也指出了。 继续阅读 »
2017-01-01 Lu Huang
Kaldi是一个语音识别工具,使用C++开发,基于Apache 许可证,目的是为语音识别研究者提供。本文将介绍在线安装kaldi,为之后的离线安装kaldi做一个准备和基础。 1. 下载kaldi 目前kaldi是开源的,在github上可以clone;clone以后进入该目录,然后查看安装方法。 git clone https://github.com/kaldi-asr/kaldi.git cd kaldi/ cat INSTALL INSTALL文件指示如下: This is the official Kaldi INSTALL. Look also at INSTALL.md for the git mirror 继续阅读 »
2016-12-31 Lu Huang
2016年12月30日,校史馆、档案馆和电子系联合举办了“为党的教育事业奉献一生——李传信诞辰90周年展览”,作为“清华校友-传信励学基金”的获得者之一,有幸参加了此次展览。 学校通知 为配合今年的建党纪念活动及“两学一做”学习教育,校史馆、档案馆和电子系联合举办了“为党的教育事业奉献一生——李传信诞辰90周年展览”。 订于12月30日(星期五)上午10:45,在校史馆一楼展厅举行一个简短的开幕式,约半小时,校领导陈旭、方惠坚、贺美英和李传信老师夫人周玉田,以及相关部门和电子系师生代表将出席。 继续阅读 »
2016-12-29 Lu Huang
本文介绍了如何在linux(本文是ubunut 16.04系统)下编译安装opencv(本文采用的opencv版本是3.1.0),包括安装流程和可能遇到的问题,这些大部分都是基于我个人的经验总结和opencv官网。 1.安装过程 1.1 解决基本依赖 首先必须确保你的系统中安装了opencv编译过程中的基本软件包,如果没有请用管理员权限或者请你的服务器的管理员帮忙执行以下命令。 sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev 继续阅读 »
2016-06-18 Lu Huang
本节实现的是使用OpenCV里自带的函数,计算程序的执行时间。 获取系统时钟数 获取系统时钟频率 实现过程 初始时间 不再赘述,代码如下。 ``` python time start t1 = cv2.getTickCount() ``` 执行代码 我这里执行的是之前绘制直方图的代码,请参考我的博客和GitHub。 结束时间 获取程序结束时间。 ```python time end t2 = cv2.getTickCount() ``` 计算执行秒数 利用getTickFrequency()获取时钟频率。 python t = (t2-t1)/cv2.getTickFrequency() print 继续阅读 »
2016-06-17 Lu Huang
本节实现的是使用OpenCV里自带的函数,对图像进行简单的几何变换。 放大 缩小 平移 旋转 实现过程 读取原图并显示 不再赘述。 ``` python import cv2 import numpy as np read the original img = cv2.imread('../test2.jpg') cv2.imshow('original', img) ``` 放大 利用OpenCV自带的resize()函数实现放大与缩小。其声明为: python cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) → dst 其中各个参数的意义如 继续阅读 »
2016-06-16 Lu Huang
本节实现的是使用OpenCV里自带的函数,检测出视频里图像中的蓝色和天蓝色、青色,比如我的手机背景、我衣服上的蓝色格子,墙砖的蓝色和学生证照片上的蓝色背景。 设置“蓝色”HSV范围 BGR转HSV 捕获摄像头视频 获取蓝色部分mask 图像按位与操作 显示蓝色部分图像 实现过程 定义视频对象 视频对象用于捕获摄像头视频流。 ``` python import cv2 import numpy as np cap = cv2.VideoCapture(0) ``` 设置HSV中蓝色、天蓝色范围 这里主要参考了这个博客,我设置的颜色范围如下。 ```python set blue thresh lower_blue= 继续阅读 »
2016-06-15 Lu Huang
本节实现的是使用OpenCV里自带的函数,将一幅logo加到一张图片上去。 提取mask 利用mask生成带logo图片 实现过程 引用与读取图片 不再赘述,代码如下。 ``` python import cv2 import numpy as np img = cv2.imread('test.png') logo = cv2.imread('logo.jpg') cv2.imshow("Img_Original", img) ``` 获取mask 先将logo转成黑白,然后设置合适的阈值二值化,使得有内容的部分为黑(0),无内容的部分为白(255),这里使用的阈值为205。 ```python logo_gray 继续阅读 »
2016-06-13 Lu Huang
本节实现的是使用OpenCV里自带的函数,在双击图片时,以其为圆心绘制圆。 回调函数 捕捉鼠标事件 实现过程 引用与创建空图 不再赘述,代码如下。 ``` python import cv2 import numpy empty image img = np.zeros((512, 512, 3), np.uint8) ``` 设置回调函数 检测鼠标事件,如果左击鼠标则绘制圆。 ```python call back function def draw_circle(event, x, y, flags, param): if event == cv2.EVENT_LBUTTONDBLCLK: 继续阅读 »