3 ShadowN1ght

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 4w+

自绘MFC List Control列表控件时无法改变表头CHeaderCtrl高度问题的解决方法

最近在Win7 64位系统下用VS2013编写公司的图像引擎程序时需要使用到list control控件,发现MFC自带的list control视觉效果较差,如下所示:于是决定自绘。从百度搜到相关自绘代码,下载到本地修改测试后发现,表头CHeaderCtrl控件在程序启动时是按默认高度呈现的,只有在鼠标滚动列表后,才会变成OnLayout()函数中设定的高度。经检查,发现OnLayo

2018-01-30 21:34:38

Speeded-Up Robust Feature---SURF算法原论文全文翻译(1)

(为确保整篇译文的阅读流畅性和连续性,本文主要采用意译,一些和SURF算法关系不大的句子和单词可能不会翻译出来。为帮助理解,可能会增加注释和C++实现代码。)(原论文下载链接:https://pan.baidu.com/s/1c2auCFm)原作者信息:摘要本文介绍了一种全新的尺度不变、旋转不变的特征点检测和描述算法,英文名为Speed-Up Robust Feat

2017-12-08 11:53:28

TensorFlow模型op的保存和加载(含演示代码)

上一篇博文《TensorFlow模型参数的保存和加载》介绍了如何保存和加载TensorFlow模型训练参数,保存对象主要是Tensor/Variables。这一节我们介绍如何保存和复用op。和Tensor一样,保存op需要在训练时为op指定名字,如下所示:softmax = tf.nn.softmax(tf.matmul(x, W) + b,name="op_softmax")在识别阶

2017-11-25 20:37:18

TensorFlow模型参数的保存和加载(含演示代码)

当我们通过TensorFlow构建了一个训练模型,譬如人脸识别或场景分类网络,并且找到合适的数据集,经过较长时间的训练后,识别率令人满意,这时候我们希望把训练结果保存下来,下次使用时可以直接调用,而不需要重新训练。这就涉及到一个如何保存和加载TensorFlow训练参数的问题。为方便使用者保存训练结果,TensorFlow提供了tf.train.Saver模块用于保存当前会话中所有的变量值(V

2017-11-22 08:51:15

TensorFlow车牌识别完整版(含车牌数据集)

在之前发布的一篇博文《MNIST数据集实现车牌识别--初步演示版》中,我们演示了如何使用TensorFlow进行车牌识别,但是,当时采用的数据集是MNIST数字手写体,只能分类0-9共10个数字,无法分类省份简称和字母,局限性较大,无实际意义。经过图像分割处理,博主收集了相关省份简称和26个字母,结合前述博文中贴出的python+TensorFlow代码,实现了完整的车牌识别功能。本着分享精神

2017-11-18 21:00:53

深度学习训练图片收集器——C++截图程序的实现3(主对话框响应键鼠消息进行截图)

在上一节《深度学习训练图片收集器——C++截图程序的实现2(键鼠钩子篇)》,我们实现了键鼠截图消息的传递。在本节中,我们将实现主程序的截图操作。现在的设想是,当主程序收到截图请求后,显示一个铺满整个屏幕的界面,把截图时的桌面图像粘贴到这个全屏界面上。当用户在全屏界面上拖拽鼠标时,通过调用OpenCV函数,显示一个红色边框的截图矩形。当用户在这个矩形上双击鼠标左键时,就进行保存截图的操作,并退出

2017-10-30 16:59:45

深度学习训练图片收集器——C++截图程序的实现2(键鼠钩子篇)

在上一节《深度学习训练图片收集器——C++截图程序的实现1(需求分析篇)》中,我们分析了设计一个独立的截图程序的必要性。在本节中,我们将给出VisualStudio C++的键鼠钩子设置代码,以使程序能够监听用户按下Alt+A组合键的事件,以及鼠标拖拽截图矩形的事件。本程序的运行需要搭配DebugView工具以查看日志输出。DebugView是一个轻量级的日志查看工具,免安装,使用方便,可

2017-10-25 17:46:13

深度学习训练图片收集器——C++截图程序的实现1(需求分析篇)

当一个分类模型(例如车牌或人脸分类器)被设计出来后,设计者需要大量的数据对模型进行训练和验证,评估模型的好坏,不断地微调参数,以求达到最好的识别效果。在这一环节中,大量的训练数据是必不可少的。在学习过程中,我们可以通过百度和谷歌搜索到一些现成的数据集。但是,在实际项目中,很多情况下,难以直接获得现有的数据集,需要自己去独立获取和标注。另外,别人的同类数据集也不一定适合你的算法和模型。

2017-10-25 15:31:18

基于MNIST数据集实现车牌识别--初步演示版

在前几天写的一篇博文《如何从TensorFlow的mnist数据集导出手写体数字图片》中,我们介绍了如何通过TensorFlow将mnist手写体数字集导出到本地保存为bmp文件。车牌识别在当今社会中广泛存在,其应用场景包括各类交通监控和停车场出入口收费系统,在自动驾驶中也得到一定应用,其原理也不难理解,故很适合作为图像处理+机器学习的入门案例。现在我们不妨酝酿一个大胆的想法:在Tenso

2017-09-24 18:28:36

如何用TensorFlow训练和识别/分类自定义图片

很多正在入门或刚入门TensorFlow机器学习的同学希望能够通过自己指定图片源对模型进行训练,然后识别和分类自己指定的图片。但是,在TensorFlow官方入门教程中,并无明确给出如何把自定义数据输入训练模型的方法。现在,我们就参考官方入门课程《Deep MNIST for Experts》一节的内容(传送门:https://www.tensorflow.org/get_started/mnis

2017-09-24 12:06:49

预算一万以内的机器学习台式机/主机配置推荐

随着开学季的到来,以及两大CPU厂商今年轮番推出性能吊炸天的新品CPU,一波装机热潮正在袭来。对于喜欢机器学习的同学,拥有一台高性能的台式机,在进行网络训练的同时,还能流畅运行其它程序,学习工作娱乐三不误,无疑是一个迫切的需求。下面我们就介绍三套能够满足这个需求的配置。1.预算5000左右屌丝套装:cpu+主板: I5 7500 或 锐龙1600套装        1800元显

2017-09-20 22:18:42

如何从TensorFlow的mnist数据集导出手写体数字图片

在TensorFlow的官方入门课程中,多次用到mnist数据集。mnist数据集是一个数字手写体图片库,但它的存储格式并非常见的图片格式,所有的图片都集中保存在四个扩展名为idx3-ubyte的二进制文件。如果我们想要知道大名鼎鼎的mnist手写体数字都长什么样子,就需要从mnist数据集中导出手写体数字图片。了解这些手写体的总体形状,也有助于加深我们对TensorFlow入门课程的理解

2017-09-19 11:03:09

Windows C++程序调用包含TensorFlow代码的Python脚本出错问题的解决办法

在上一篇博文《如何实现Visual Studio C++调用TensorFlow代码》的末尾,我们提到,运行程序时,PyImport_ImportModule("TensorflowTest")可能会出错。出错信息如下:可以看到,出错的原因是因为触发了threading.py的“assert tlock.locked()”。如果在命令行中执行pythonTensorflowTe

2017-09-11 17:11:56

如何实现Visual Studio C++调用TensorFlow代码

对机器学习感兴趣的VS老司机们,在Windows上搭建好TensorFlow开发环境后,应该会迫不及待地想要编写一个C++程序调用TensorFlow代码。只要能调用成功,你就可以将机器学习融入到你的C++程序,给你的程序装上人工智能的翅膀!想想都很兴奋!(Win搭建TensorFlow环境的操作步骤可参考我的另一篇博文:http://blog.csdn.net/shadown1ght/art

2017-09-11 15:45:05

在Windows 7/10系统下如何安装TensorFlow GPU版

目前,网上很多人不建议在Win系统下安装TensorFlow,因为支持不好。大部分用户都是将TensorFlow安装在Linux系统。但是,对于习惯在Win下进行软件开发的用户(特别是使用Visual Studio的用户),在win7和win10下搭建TensorFlow开发环境是一个迫切的需求。我也一直想要实现Windows系统下调用TensorFlow代码,以避免需要安装Win/Linux双系统的麻烦。经过各种尝试,我终于在win7和win10两个系统下成功搭建TensorFlow开发环境,可以正常

2017-09-11 12:19:02

OpenCV图像的加载和显示

通过本节内容,读者将学习到以下操作:1.使用imread加载图像;2.使用namedWindow创建OpenCV命名窗口;3.使用imshow在第2步创建的窗口中显示图像。加载和显示图像的示例代码:

2017-09-01 10:48:41

梯度下降法推导总结

在传统人工神经网络ANN的训练过程中,每次迭代的目的就是不断地调整权值w1,w2,w3,...,wn,使训练样本经过神经网络的实际输出值与目标输出尽可能地接近。实际输出和目标输出之间的误差度量通常采用如下平方误差准则:(注:word的向量表达式占多了一个空格的空间,如对排版不满,请多多包涵)其中,D是训练样本集合(dataset),s是训练样本,Ts是s的目标输出(即s的类

2017-08-31 14:41:25

Binder客户端和驱动端通信流程实例分析----以acquireWakeLock()函数为例 (二)

在上一篇文章《Binder客户端和驱动端通信流程实例分析----以acquireWakeLock()函数为例(一)》中,我们介绍了亮屏锁WakeLock类的acquire()函数如何将Binder请求从app上层一步步向下传递到frameworknative层的IPCThreadState类的transact()函数。IPCThreadState类的transact()函数主要做的事情如下:

2017-08-28 20:06:12

C++实现一维快速傅里叶变换(FFT)

当一维信号长度达到几十万个信号时,当前主流4G主频CPU完成一次傅里叶变换需要约几十到几百秒的时间,这样的效率显然是让人无法接受的。为了解决傅里叶变换的计算效率问题,行业专家们提出了蝶形算法,极大地提升了傅里叶变换的运算效率。在蝶形算法中,较为流行的是基于时间抽取的基-2快速傅里叶变换算法(以下简称为基-2FFT算法)。

2017-08-28 07:51:01

C++实现二维离散傅里叶变换

在上一篇文章《C++实现一维离散傅里叶变换》中,我们介绍了一维信号傅立叶变换的公式和C++实现,并阐述了频域幅值的意义。一维傅立叶变换只适用于一维信号,例如音频数据、心脑电图等。在图像处理中,图像信号具有高度和宽度两个属性,属于二维空间信号。将图像信号从空间域转换到频域时,需使用二维离散傅立叶变换。因此,需要将傅立叶变换从一维推广至二维。二维连续傅立叶变换公式如下:

2017-08-26 19:25:05

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!