- 博客(46)
- 资源 (1)
- 收藏
- 关注
原创 PCL批量将mesh对象采样生成点云数据
#include <pcl/visualization/pcl_visualizer.h>#include <pcl/io/pcd_io.h>#include <pcl/io/ply_io.h>#include <pcl/io/vtk_lib_io.h>#include <pcl/common/transforms.h>#inc...
2018-03-16 15:32:00 3695 3
原创 boost 遍历文件夹,返回文件路径,文件名
void getFiles(const string& rootPath,vector<string> &ret,vector<string> &name){ namespace fs = boost::filesystem; fs::path fullpath (rootPath); fs::recursive_direct...
2018-03-16 14:34:18 1600
原创 CNN for Semantic Segmentation(语义分割,论文,代码,数据集,标注工具,blog)
在FCN网络在2104年提出后,越来越多的关于图像分割的深度学习网络被提出,相比传统方法,这些网络效果更好,运算速度更快,已经能成熟的运用在自然图像上。语义分割显然已经是计算机视觉领域的一个热门研究领域,也是通往实现完全场景理解的道路之一,被广泛应用于无人驾驶、人机交互、医疗图像、计算摄影、图像搜索引擎、增强现实等应用领域。语义分割是像素级分类问题,将同一类物体像素点归为一类,如图所示。
2017-11-27 17:53:24 9662 2
原创 对数据集进行扰动
import cv2import numpy as npimport osdef randLighting(img): saturation = 1.5 exposure = 1.5 hsv = cv2.cvtColor(img, cv2.COLOR_RGB2HSV) r0 = np.random.rand
2017-09-30 12:03:36 5671 1
原创 将图像数据读写标记成txt文件
# -*- coding: UTF-8 -*- import osdef IsSubString(SubStrList,Str): flag=True for substr in SubStrList: if not(substr in Str): flag=False return flag#扫面文件def G
2017-09-30 11:54:35 1438
原创 PSPNet
一 引言1.场景理解任务数据库1.1 LMO dataset C. Liu, J. Yuen, and A. Torralba. Nonparametric scene parsing:Label transfer via dense scene alignment. In CVPR, 2009.1.2 PASCAL VOC M. Everingham, L.
2017-09-03 11:31:11 860
原创 激活函数与caffe及参数
为什么引入非线性激励函数?如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况下你每一层输出都是上层输入的线性函数,很容易验证,无论你神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机(Perceptron)了。正因为上面的原因,我们决定引入非线性函数作为激励函数,这样深层神经网络就有意义了(不再是输入的线性组合,可以逼近任意函数)。最早
2016-10-22 10:44:13 2626
原创 卷积神经网络与caffe Convolution层及参数设置
卷积神经网络(Convolutional Neural Network, CNN)是深度学习技术中极具代表的网络结构之一,在图像处理领域取得了很大的成功,在国际标准的ImageNet数据集上,许多成功的模型都是基于CNN的。CNN相较于传统的图像处理算法的优点之一在于,避免了对图像复杂的前期预处理过程(提取人工特征等),可以直接输入原始图像。图像处理中,往往会将图像看成是一个或多个的二维向量,如M
2016-10-22 09:01:14 31449
原创 感知器算法与神经网络
感知器作为人工神经网络中最基本的单元,有多个输入和一个输出组成。虽然我们的目的是学习很多神经单元互连的网络,但是我们还是需要先对单个的神经单元进行研究。感知器算法的主要流程: 首先得到n个输入,再将每个输入值加权,然后判断感知器输入的加权和最否达到某一阀值v,若达到,则通过sign函数输出1,否则输出-1。为了统一表达式,我们将上面的阀值v设为-w0,新增变量x0=1,这样就
2016-10-21 15:54:17 5132
原创 caffe cuda jetson tk1 errors 解决
error while loading shared libraries: libcudart.so.6.5: cannot open shared object file: No such file or directory.解决办法sudo cp /usr/local/cuda-6.5/lib64/libcudart.so.6.5 /usr/local/lib/libcudart.
2016-10-20 12:15:37 931
原创 图像处理与计算机视觉学习资源
OxfordCourse on CUDA Programming on NVIDIA GPUs点击打开链接斯坦福大学Andrew Ng Deep Learning 教程中文教程 机器学习课程URL:http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=MachineLearning原文链接:http
2016-09-26 09:16:31 1847
原创 图像融合
一、概述 图像融合是图像处理中重要部分,能够协同利用同一场景的多种传感器图像信息,输出一幅更适合于人类视觉感知或计算机进一步处理与分析的融合图像。它可明显的改善单一传感器的不足,提高结果图像的清晰度及信息包含量,有利于更为准确、更为可靠、更为全面地获取目标或场景的信息。 图像融合主要应用于军事国防上、遥感方面、医学图像处理、机器人、安全和监控、生物监测等领域。用于较多也较成熟的是红外和
2016-09-04 12:29:40 36499 3
原创 曝光融合Exposure Fusion 与ghost
1、概述 说到EF那我们不得不谈谈HDR。高动态范围(HDR)图像可以表示动态范围跨度很大的真实场景。图像的动态范围(dynamic range)是指一幅图像中可见区域最大亮度与最小亮度的比值。同样的,场景中最大光度与最小光度的比值被称为场景的动态范围。现实场景中光度值的分布范围是非常宽广的,而且人眼能够观察的动态范围也是很广的,比如强烈阳光照射下的光度超过100,000c
2016-08-26 21:24:38 15147 11
原创 笔迹宽度估计的低质量文本图像二值化(Robust Document Image Binarization Technique for Degraded Document Images)
文本图像二值化在OCR和相关领域是个老话题,快速而准确的的二值化方法对这些领域的图像进一步处理尤为重要。对于图像亮度特征的有全局二值化、局部二值化,在图像亮度有明显双峰特征的是可进行全局二值化,金典的算法有OTSU,但是一些低质量文本并无双峰特征,这样对这些文本进行二值化就是一种难题。现阶段也存在许多亮度特征局部二值化算法,比如Niblack、Sauvola、Nick,但是这些算法的确定是二值化效
2016-08-22 21:21:01 1306
转载 C++静态库与动态库、创建及调用方法
1 什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。所谓静态、动态是指链接。回顾一下,将一个程序编译成可执行程序的步骤:图1:编译过程1.1
2016-08-16 19:59:07 7564
原创 局部二值化算法Niblack OpenCV实现
Niblack 算法的应用于文本图像二值化领域较多,算是比较经典的局部二值化处理方法,其局部二值化方法的提出也很有借鉴意义,包括后来的一些对其改进方法,Sauvola 算法、Nick 算法,核心思想是:根据图像像素点的邻域内的平均灰度和标准偏差来构造一个阈值曲面进行二值化处理。其阈值计算如下:point 1:计算窗口内像素均值;point 2:计算窗口内像素标准差。这两个点
2016-08-14 10:59:05 8330 2
原创 自适应Canny边缘检测
#include "opencv2/highgui.hpp"#include "opencv2/imgproc.hpp"#include #include #include using namespace cv;using namespace std;Mat src; Mat src_gray;int thresh = 100;int max_thresh = 255;in
2016-07-27 22:20:13 2266
原创 svm支持向量机
支持向量机的最终求解可以化为一个具有线性约束的二次凸规划问题,不存在局部极小。通过引人核方法,可以将线性支持向量机简单地推广到非线性支持向量机,而且对于高维样本几乎不增加额外的计算量。算法首先随机选用一部分样本作为工作集即训练集,得到一组乘子。然后用条件对其余的样本进行检验,再把违反条件的样本加人到工作集中,同时删去前一次训练集合中的非支持向量机,重复这一过程,直到所有的样本满足条件为止。2000
2016-06-22 21:00:26 665
原创 Computer Vision and the machine learning workflow
The Computer Vision applications with machine learning have a common basicstructure. This structure is divided into different steps that are repeated in almost all Computer Vision applications, and so
2016-06-19 10:42:35 813
原创 Windows10 x64 环境安装配置OpenCV3.1.0和添加OpenCV_contrib库到OpenCV3.10中及重新配置环境
如何安装并配置OpenCV3.1.0添加OpenCV_contrib库至OpenCV3.1.0中ubuntu 14.04 64位 安装Opencv3.1.0 (包含opencv_contrib模块) 据官方说法,目前还不是太稳定的算法模块都在opencv_contrib里边,由于不稳定,所以不能在release版本里发行,只有在稳定以后才会放进releas
2016-06-19 09:46:35 1262 1
原创 计算机视觉及机器学习的一些学习资源(都是干货)
自己也是菜鸟在网上找的一些资源给大家分享。 第一部分 PRML 笔记 来自 Bishop 的经典书籍 Pattern Recognition and Machine Learning。第二部分 DP 笔记 来自 Bengio 的最新书籍 Deep Learning. 机器学习的系列笔记,内容包括:聚类(Clustering)、支持向量机、学习模型的评估和选择、神
2016-06-16 08:38:09 2047
转载 计算机视觉领域研究资源及期刊、会议介绍
做机器视觉和图像处理方面的研究工作,最重要的两个问题:其一是要把握住国际上最前沿的内容;其二是所作工作要具备很高的实用背景。解决第一个问题的办法就是找出这个方向公认最高成就的几个超级专家(看看他们都在作什么)和最权威的出版物(阅读上面最新的文献),解决第二个问题的办法是你最好能够找到一个实际应用的项目,边做边写文章。做好这几点的途径之一就是利用网络资源,利用权威网站和专家们的个人主页。依照
2016-06-13 18:48:45 1235
原创 OpenCV学习Object Segmentation
这里介绍一种物体分割和检测的一种方法。完成该功能包括了如下步骤:1.去噪;2.去除背景或光线;3.二值化;4.联通域或提取轮廓进行物体分割。#include "opencv2/core.hpp"#include "opencv2/core/utility.hpp"#include "opencv2/imgproc.hpp"#include "opencv2/hig
2016-06-13 16:07:41 3293 2
原创 OpenCV学习Histogram&equalizeHist&Lomography effect&Cartoonize effect实现
本小实验完成如下五个功能:1:使用trackbar实现button功能(OpenCV不自带button,不用QT我只能用trackerbar来实现可视化操作了);2:计算并绘制直方图;3:Histogram equalization;4:实现lomography效果;5:实现cartoonize效果。 3中为了色调均衡化一幅彩色图像,我们可以对图像的HSV 或
2016-06-09 08:38:26 1702
原创 OpenCV学习Canny
#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#include #include using namespace cv;/// 全局变量Mat src, src_gray;Mat dst, detected_edges;int edgeThresh = 1;int l
2016-06-04 09:28:51 732
原创 OpenCV学习Laplacian 变换及其运用
int main(int /*argc*/, char** /*argv*/) { Mat img, imgLaplacian, imgResult; //------------------------------------------------------------------------------------------- test, first of all // now
2016-05-30 20:54:14 5664
原创 OpenCV学习Sobel 导数
int main(int, char** argv){ Mat src, src_gray; Mat grad; const char* window_name = "Sobel Demo - Simple Edge Detector"; int scale = 1; int delta = 0; int ddepth = CV_16S;//输出图像的深度,设定为 CV_16S 避免
2016-05-29 17:00:56 1596
原创 OpenCV学习离散傅里叶变换(DFT)
int main(int argc, char ** argv){ const char* filename = argc >= 2 ? argv[1] : "C:/Users/dell/Desktop/1.jpg"; Mat I = imread(filename, IMREAD_GRAYSCALE); if (I.empty()) return -1; Mat padd
2016-05-27 20:14:21 840
原创 OpenCV学习遍历图像像素
#include #include #include #include #include #include using namespace std;using namespace cv;/*static void help(char* progName){ cout << endl << "This program shows how to filter images
2016-05-27 09:43:16 709
原创 OpenCV学习 kmeans实现图像分割
using namespace std;using namespace cv;int main(){ const int MAX_CLUSTERS = 5; Vec3b colorTab[] = { Vec3b(0, 0, 255), Vec3b(0, 255, 0), Vec3b(255, 100, 100), Vec3b(255, 0, 255), Vec3b(
2016-05-26 07:22:50 5231
原创 Ostu算法
图像二值化算法是图像处理的基础。一般来说,二值化算法可以分为两个类别:全局二值化和局部二值化。全局二值化是指通过某种算法找到一个全局的阈值T,对图像中坐标为(x,y)的像素值做如下处理:f(x,y)>T则f(x,y)=255,else f(x,y)=0 Ostu就是这样一种全局二值化算法,又叫最大类间方差。因为该算法会遍历图像中任意一个像素值i,计算当其为阈值时,图像的前景和背景
2016-05-24 21:18:39 2193 1
原创 OpenCV自适应阈值
int main(int argc, char** argv){ Mat image = imread("E:/VS2013/face/xuelian/png/1.png", CV_LOAD_IMAGE_GRAYSCALE); if (image.empty()) { cout << "read image failure" << endl; return -1; } //
2016-05-24 09:58:45 14156
原创 OpenCV学习HighGUI
// Create windows namedWindow("xuelian", CV_GUI_NORMAL);//WINDOW_NORMAL: 可以改变窗口大小 namedWindow("shihui", WINDOW_AUTOSIZE);//WINDOW_AUTOSIZE: 根据图像大小显示窗口,大小不可改变
2016-05-22 08:54:48 533
原创 OpenCV基本操作学习
#includeusing namespace std;using namespace cv;int main(int argc, const char** argv){ Mat picture = imread("E://VS2013//face//xuelian//jpg//1.jpg");//载入图像 见 imshow("原图", picture);//显示图像 /
2016-05-22 08:16:08 471
原创 在模拟器上安装OpenCV Manager
国内被墙,无法通过google play安装OpenCV Manager,这样只能手动安装了。步骤:1.打开CMD 、模拟器;2.输入adb install\apk\....apk(根据不同的平台选择不同的安装包)
2016-05-16 08:24:03 1733
原创 Android NDK报错(Eclipse)及解决方法
在AndroidNDK开发过程中,工程目录下的jni文件夹下编写的c/c++代码,通常会出现如下的几种类型的报错: 1、Unresolved inclusion: 2、syntax error 3、Function 'XXX' could not be resolved 4、Type 'XXX' could not be resolved
2016-05-06 09:27:20 1531
原创 Android.mk 文件语法指南
1 前言 本文档描述了c和c++编写的程序用Android NDK编译时,编译文件Android.mk的语法结构。为了便于理解下面的内容,假设你已经阅读了前面OVERVIEW部分,了解了它们的作用和用法。2 概要 Android.mk是用来描述源文件是如何进行编译的。更具体的:-Android.mk实际上是一个轻量级的Makefile,它会被编译系统解析一次
2016-05-05 19:46:10 3032
翻译 eclipse上android NDK开发环境的搭建(android-ndk-r10d\docs\Getting Started with the NDK)
网上有很多关于搭建Android NDK开发环境的文章,自己倒腾了不少但是发现很多都不能用,有部分都是过时的,有的只有部分内容,Google又被墙没办法直接访问教程。初学者还是挺伤脑筋的,自己也摸索了大半天,下面我们搭建android NDK开发环境吧。在开始搭建android NDK开发环境之前,我们默认你已经搭建好了android开发平台。我们分三步完成android NDK开发环境的搭建:1
2016-04-27 10:41:52 836
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人