自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

沧海桑田

重剑无锋,大巧不工

  • 博客(35)
  • 资源 (5)
  • 收藏
  • 关注

转载 CMake 3.8.2 Online Manuals

Reference ManualsBuild SystemCommandCompile FeaturesDeveloperGenerator ExpressionsGeneratorsLanguageSeverModulesPackagesPropertiesQTToolchainsVariablesSearchSearch Page

2018-06-09 16:04:16 222

原创 pybind11 连接C++11和Python

pybind11是一个轻量级的头文件库,它在Python中暴露了C++类型和方法,反之也可以在C++中使用Python方法,主要用于创建现有C++代码的Python绑定。

2022-11-01 00:28:22 478 1

原创 【MindSpore入门教程】03 数据加载

mindspore.dataset 提供了加载和处理各种通用数据集的API,包括MNIST、CIFAR-10、CIFAR-100、VOC、COCO、ImageNet、CelebA、CLUE等等, 也支持加载业界标准格式的数据集,包括MindRecord、TFRecord、Manifest等。此外,用户还可以自定义加载自己的数据集。这里主要介绍MindSpore数据加载方法的基本使用方法。

2022-08-22 10:21:23 2523

原创 【MindSpore入门教程】 02 自动微分

自动微分是深度学习等AI算法中的核心技术。本文主要介绍了AI框架 MindSpore 自动微分的原理和实现,以及介绍了几种使用方法和注意点。

2022-08-07 20:34:39 702

原创 【MindSpore 入门教程】01 张量Tensor

深度学习中涉及的数据形式一般是标量、向量、矩阵以及高维度的。标量可以理解为0维,向量是一组一维数据,矩阵是二维数据,如黑白图像,相应的,彩色图像包含了颜色通道,是一个三维数据。MindSpore提供Tensor数据结构,来存储计算过程中使用的多维数组(n-dimensional array)。......

2022-08-01 17:39:23 1550

原创 【聚类】ISODATA使用示例

Kmeans在进行样本聚类时,需要设定样本类别。ISODATA算法是在k-均值算法的基础上,增加对聚类结果的“合并”和“分裂”两个操作,并设定算法运行控制参数的一种聚类算法。因此,ISODATA是一种自适应聚类的算法。算法原理见聚类算法:ISODATA算法。这里给出ISODATA使用示例。首先,利用随机数生成待分类样本。给定一个圆的中心与半径,并设定样本点规模,生成二值样本。void ...

2018-07-03 00:56:47 6654

原创 SeedFill——连通区域分析

Two-Pass方法计算二值图连通域效率比较低,补充下Seed Filling种子填充法,该方法类似于图的深度搜素。 这里还是参考了这篇文章OpenCV_连通区域分析。为了提高效率,做了一点修改。 针对新标签的第一个像素,其邻域只选取下方和后方未处理的邻域; 针对处理过的像素添加标识符,下次再碰到该像素时,可直接跳过。 具体代码:bool seedFill(...

2018-06-25 23:55:25 1829

原创 Two-Pass算法——图像连通域分析

在处理二值图像,提取感兴趣目标时经常需要通过连通域的大小对候选目标进行初步筛选。OpenCV中findContour 方法可以返回轮廓并能够计算轮廓面积。可其局限性在对于非凸多边形的面积计算是不准备的。 此时,利用连通域计算面积的方法更可靠,可findContour方法并不返回连通域结果。对于计算连通域基本方法主要有两种:1)Two-Pass法;2)Seed-Filling种子填充法; 参考...

2018-06-24 01:06:38 15750 4

原创 FreeImage 生成带透明通道的GIF

主要方法: 1. 加载图像及读取参数 FreeImage_Load FreeImage_GetWidth FreeImage_GetHeight FreeImage_Allocate FreeImage_GetPixelColor FreeImage_SetPixelColor 2. 保存GIF FreeImage_OpenMultiBitmap FreeImage_SetM...

2018-06-12 02:39:46 3877 1

原创 C++中##与#define 用法记录

在VTK中有一类vtkPointsProjectedHull,关于该类的说明是这样的: the convex hull of the orthogonal projection of the vtkPoints in the 3 coordinate directions意思就是,将一空间点集投影到某一坐标平面并求解2d凸包,投影平面有三种:XY平面,XZ平面,YZ平面。 该类...

2018-06-11 23:27:53 744

原创 CMAKE 实现自动区分不同版本库

开发SDK时,经常需要依赖第三方库。此时需要考虑库的版本问题,一方面针对不同的编译器和Release、Debug版本灵活选择不同的第三方库,另一方面生成不同版本的库,并能被其他项目灵活引用。CMAKE此时体现其重要作用。这里记录并分析开源OCR项目Tesseract的编译过程。Tesseract 依赖第三方库leptonica,使用方法为: find_package(Leptonic...

2018-06-10 01:50:07 5313

原创 【Linux 日常】设置动态链接库目录

方法一: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:path_to_add 该方式为临时的,系统重启则失效。方法二: sudo vim /etc/ld.so.conf添加库路径 (表示当前目录) 保存后 执行命令 sudo ldconfig可通过ldd 查询可执行文件的依赖项是否正确。 如:root@VM-0-12-ubuntu:~...

2018-05-29 16:48:39 1004

原创 某站视频python抓取: m3u8转mp4

之前利用python简单爬虫抓过一些图片,最近想到了抓取视频。由于很多地方视频不提供下载。所以觉得有必要学习一下,以备不时之需。备注:这里仅记录碰到的网站视频实例,不保证适用所有情况。基本概念与思路 目标问题是,在某视频网站下载喜欢的视频文件并保存为MP4格式。这里涉及到几种文件格式。一般网络视频都采用的流协议,具体内容非专业领域不是很了解,不深入讨论。在我想抓取的视频站中,发现原视频数据分...

2018-05-19 19:00:11 21515 4

原创 GDB 主要调试命令

The purpose of a debugger such as GDB is to allow you to see what is going on "inside" another program while it executes -- or what another program was doing at the moment it crashed.

2018-05-17 03:45:47 276

原创 算法【查找一】

高效检索计算机和网络中的海量信息,是处理它们的前提。本节开始,分三节总结三种经典的数据类型,用于实现高效的查找方法,亦即符号表。该三种数据类型分别为:二叉查找树、红黑树、和散列表。关于符号表的定义: 符号表是一种存储键值对的数据结构,支持两种操作:插入(input),即将一组新的键值对存入表中; 查找(get),即根据给定的键得到相应的值。表格 | 时间 放大 | 放大...

2018-05-15 02:59:19 227

原创 算法【排序四】

优先队列与堆排序首先,介绍优先队列的概念与应用许多应用程序都需要处理有序元素,但不一定要求全部由序,或者不一定要求一次性排序。多数情况下,我们会收集一部分元素,处理当前键值最大的元素,然后再收集更多的元素,再处理当前键值最大的元素,如此这般。例如,手机能够同时运行多个应用APP。这是通过为每个应用的事件分配一个优先级,并总是处理下一个优先级最高的事件来实现的。绝大多数情况下手机分配给来电的...

2018-04-08 19:37:05 166

原创 算法【排序三】

高效排序(快速排序)快速排序可能是应用最广泛的排序算法,实现简单,适用于各种不同的输入数据且在一般应用中比其他排序算法都要快的多。快速排序是一种分治的方法。将一个数组分成两个子数组,将两部分独立地排序。快速排序和归并排序互补:归并排序将数组分成两个子数组分别排序,并将有序的子数组归并以将整个数组排序;而快速排序则是当两个子数组都有序时整个数组也就自然有序。归并排序,递归调用发生在处理整个数...

2018-04-01 20:39:50 264 2

原创 Vim常用命令整理

利用思维导图对Vim的基本命令进行分类整理,清晰明了。方便随时查阅。

2018-03-26 13:13:03 181

原创 【OpenCV】贝叶斯之肤色分割模型

利用公开肤色数据集训练了一个肤色分类器,OpenCV中有现成的方法,拿来即用。在实际项目中应用,自制数据样本会更有效。Talk is cheap. Show you the code.#include <opencv2/core/core.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <op...

2018-03-25 22:38:36 2130 3

原创 算法【排序二】

高效排序(归并排序)这里开始分析比初级排序更高效的方法——归并排序。归并排序的核心思想为将两个有序的数组合并成一个更大的有序数组。对一个数组进行排序,可以将它分成两部分分别进行排序,然后将结果归并起来。此时不难发现,分割的子数组同样可以利用切分再归并的方式进行排序。这是一个递归调用的过程。高效排序(归并排序)归并方法自顶向下归并自底向上归并归并排序局限性...

2018-03-24 16:42:46 192

原创 算法【排序一】

算法系统学习首篇之排序排序在商业数据处理和现代科学计算中的重要性不言而喻。它能够应用于日常事物处理、组合优化、天体物理学、分子动力学、语言学、基因组学、天气预报和其他相关领域。 20世纪科学与工程领域的十大算法之一就是一种排序算法——快速排序。在标准库中已经实现排序函数,再学习排序算法仍有重要实际意义。再重温排序算法之前,我并没有意识到。对排序算法的分析将有助于全面理解比较算法性能的...

2018-03-15 22:58:06 173

原创 12球称重问题

问题: 12个外表一样的小球,有11个球重量相同,另1个球为“坏球”,可能比较重,也可能比较轻。 如何利用天平称重3次来找出这个“坏球”?分析: 12个球中的某一个球为坏球,该事件的信息熵 H1H_1 即为 ∑12112−log(112)=log(12)\sum^{12} \dfrac{1}{12}-log(\dfrac{1}{12})

2018-01-08 23:46:25 5413

原创 数字图像EXIF信息之Jhead

前言在OpenCV相机标定中,有如下公式: 其中fx,fyf_x,f_y是以像素表示的焦距,属于相机内参的一部分。 一般可通过相机标定,估计相机内参。此外还有一种方式进行估计,公式如下:focal_length_in_pixels=(image_width_in_pixels)∗(focal_length_in_mm)/(CCD_width_in_mm)focal\_length\_in\_pi

2017-11-19 20:40:05 1142

转载 学习MARKDOWN(欢迎使用CSDN-markdown编辑器)

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-11-16 13:47:03 243

原创 形状识别之直线检测

形状识别中常见的即是矩形框的识别,识别的主要步骤通常是:图像二值化,查找轮廓,四边形轮廓筛选等。当识别的目标矩形有一条边被部分遮挡,如图1所示,传统的识别方法就不能达到识别的目的。 图1在这里,提供一种识别的思路,仅供参考。识别的最终目标就是想识别出身份证的四条边,通过计算四条边的交点最后得到四边形的轮廓。主要涉及的问题有如下几点:直线检测直线聚类直线筛选交点计算交点排序

2017-07-10 14:13:38 14023 33

原创 直线检测之极坐标表示

直线检测算法LSD有比较好的效果,相比Hough变换检测直线更高效,然而有个缺点是同一条直线上的线段会断开,此时想到将检测到的直线转化为极坐标表示,然后根据极坐标的相似程度对线段合并。这里图像上的直线与极坐标下角度的范围有着怎样的对应关系? 图像的坐标系Y轴向下,所以并不能直观地得到答案。为此,写个小程序,来获得极坐标系下直线表示的角度与直线斜率的关系。取图像中心点为原点,以图像宽度的1/4为半径,

2017-06-29 00:34:48 6131 7

原创 在OpenGL中理解摄像机标定

摄像机是3D世界和2D图像之间的一种映射。 利用齐次坐标表示3D空间坐标X(X,Y,Z,1)\mathbf{X}(X,Y,Z,1),2D图像空间坐标x(x,y,1)\mathbf{x}(x,y,1),存在一个3X4的矩阵P\mathbf{P},满足: x=PX

2017-05-11 12:28:11 1352

原创 RANSAC 原理

RANSAC, Random Sample Consensus(随机抽样一致算法)是一个通用的鲁棒估计算法,由Fischler和Bolles提出文献。

2017-04-26 17:53:33 1686 1

原创 pcl::PolygonMesh简析

PCL利用VTK的IO接口,可以直接读取stl,ply,obj等格式的三维点云数据。pcl的接口方法为int pcl::io::loadPolygonFile (const std::string &file_name, pcl::PolygonMesh& mesh);这里要说明的对象即是PolygonMesh这个类。

2017-04-19 16:14:40 18262 18

原创 判断文件是否为二进制

在工作中,碰到处理STL文件,有时候拿到的文件是二进制,有时候又是ASCII, 所以想着写个方法进行判断,然后再选择打开方式。话不多说,上代码!enum FileTypeEnum { FileTypeUnknown, FileTypeBinary, FileTypeText };FileTypeEnum

2017-04-14 20:56:19 3997 1

原创 C++编码规范 —— Google C++ Style

一名称职的码农,就该打理好自己的田地,高质量产出!

2017-04-08 22:50:42 420

原创 CMake 七步入门

前言CMake是什么? 官网给出的定义是这样的:”an open-source, cross-platform family of tools designed to build, test and package software”。很容易理解它是一个编译工具,是一个测试工具,也是一个打包工具,它其实就是一个工具箱,可以完成编译,测试以及打包的工作。

2017-04-08 14:29:40 540

原创 OpenCV 3.1.0 重编译——支持CUDA8.0

写在前面最近主要在看机器学习的十大算法,尝试书中提供的示例,实验环境是win7 + python3.4.4 。突然间,我发现新版本的OpenCV对机器学习大部分算法都有很好的实现,原谅我一直停留在2.4版本。相较于python,我更熟悉Visual Studio,相比于Scikit-Learn,我更熟悉opencv_contrib。因此,觉得没必要舍近求远,去做自己不擅长的事情,效率低是一方面,而且

2017-03-31 16:30:19 8100 7

原创 Pthread使用总结

摘要最近由于开发需要用到多线程,以前看的ARTOOKIT项目中有用到pthread,所以又重新看了一下,重点分析了它的多线程实现。它的实现方式的确很nice,以前没有注意到,现在整理在这里,一方面便于以后查询,另一方面也方便其他人。Pthread设计思路多线程编程设计的主要部分无非是线程创建,参数传递,数据同步,结果返回以及线程销毁。这里主要就这几个部分做简单的说明,重点给出代码,方便快速上手。如果

2016-12-04 22:02:28 25800 1

原创 OpenCV同态滤波

同态滤波原理简而言之,图像的同态滤波是基于以入射光和反射光为基础的图像模型上的,如果把图像函数F(x,y)表示为光照函数,即照射分量i(x,y)与反射分量r(x,y)两个分量的乘积,那么图像的模型可以表示为F(x,y)= i(x,y)*r(x,y)。通过对照射分量i(x,y)和反射分量r(x,y)的研究可知,照射分量一般反映灰度的恒定分量,相当于频域中的低频信息,减弱入射光就可以起到缩小图像灰度范围

2016-11-27 20:41:32 8174 9

Jhead简化包读取图片EXIF

将Jhead源文件进行二次封装,获取图片EXIF信息,简单易用。

2017-11-19

Google C++ Style Guide (中文+英文)

Google C++ Style Guide

2017-04-08

ippicv源码包,OpenCV使用

在自己编译OpenCV时,因为种种原因可能会导致FFmpeg或ippicv下载不成功的问题,可以通过手动下载后再进行配置

2017-03-31

DDU(Display Driver Uninstaller)

显卡驱动卸载工具,支持AMD NVIDIA驱动卸载

2017-03-31

pthread多线程编程

pthread多线程编程,进行了封装,方便使用。

2016-12-05

空空如也

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

TA关注的人

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