计算机视觉
shennung
神奇代码世界的码农
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Tensorflow C++库的编译和使用方法
Tensorflow C++库的编译和使用方法网上编译或者安装Tensorflow的教程大多数都是Python相关的,有少量C或者C++的,但版本又比较老不适合最新的Tensorflow教程,本博记录如何在Linux上从源码编译并使用Tensorflow库:准备工作 选择ubuntu14.04或者16.04做开发机 因为这是google支持的官方linux版本;选择其他linux版本也是可以的原创 2017-12-08 11:52:17 · 8600 阅读 · 2 评论 -
Tensorflow的官方C库
Tensorflow的官方C库用上篇博文的方法,我们可以自己build Tensorflow的C++库。但是整个build过程还是比较麻烦,需要安装各种工具。使用自己build的库,还得找出所有头文件。Tensorflow提供了一个提前build好的C库,提供安装使用,方法非常简单。但只提供linux和mac版本,对服务器开发需求已经完全满足了。下载安装提前build好的C库 TF_TYPE="cp原创 2017-12-27 11:41:19 · 3192 阅读 · 2 评论 -
吐槽tensorflow的工程化...
tensorflow提供了一个强大的深度学习框架,但完成tensorflow的科学家们的工程能力实在不能恭维: 1. 编译系统复杂 2. 依赖关系复杂 3. API复杂 以上几点,也能忍耐,下面两点就不能忍了: 1. 代码关系混乱,没有人知道把c++库build出来以后,需要依赖什么头文件,不需要依赖什么头文件。最简单的方返是把所有的头文件都包含进去。 2. 无法和opencv共同使用...原创 2018-02-27 15:50:50 · 1375 阅读 · 4 评论 -
tensorflow和opencv冲突问题的解决
因为tensorflow和opencv都使用了libjpeg,如果二者在编译的时候使用的libjpeg版本不对,会导致imread无法成功读取jpeg文件。workaround如下: 在编译tensorflow或者tensorflow__cc的时候,加上编译选项:–config=monolithic ,该编译选项使得tensorflow把libjpeg静态链入,就不会和opencv冲突了。...原创 2018-02-27 16:32:49 · 2876 阅读 · 1 评论 -
tensorflow 指令优化编译
tensorflow 默认编译是不打开sse 和avx优化的,如果需要提升性能,可用下面的编译指令: bazel build -c opt –copt=-mavx –copt=-mavx2 –copt=-mfma –copt=-mfpmath=both –copt=-msse4.2 –config=cuda -k //tensorflow/tools/pip_package:build_pip_...原创 2018-06-27 09:43:56 · 1187 阅读 · 0 评论 -
OPENCV实现隐藏水印
OPENCV实现隐藏水印原理代码原理频域添加数字水印的方法,是指通过某种变换手段(傅里叶变换,离散余弦变换,小波变换等)将图像变换到频域(小波域),在频域对图像添加水印,再通过逆变换,将图像转换为空间域。代码原理很简单,实现也很简洁。使用opencv就可以完成隐藏水印的添加和检测。直接上代码:#include <stdlib.h>#include <opencv2/...原创 2018-09-18 17:42:04 · 9291 阅读 · 7 评论 -
GPUImage raw数据直接进入filter,再获取raw数据
GPUImage 是强大的图像处理库,基于其架构可以很简单的搭建起图像,视频采集,处理的应用。但如果要把其加入到一个成熟的商业系统中,则比较麻烦,需要修改已有的图像处理框架适应GPUImage的框架。本博介绍一种简单的方法,直接把已有系统中的raw数据导入GPUImage的filter中,再读取回已有系统。上代码:先加入头文件:#import <GPUImage/GPUImage...原创 2018-11-07 12:26:14 · 1031 阅读 · 0 评论
分享