自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Image

Make it wonderful

  • 博客(65)
  • 资源 (12)
  • 收藏
  • 关注

原创 【图像处理】VS编译opencv源码,并调用编译生成的库

编译opencv源码并修改调用

2023-09-16 18:42:58 379

原创 【数据结构与算法】01背包问题及输出具体方案

i=2,j=3时, 背包可以放下笔记本或者手机,但无法同时存放,那么我们要对比具体价值大小: dp[2][3] = max(dp[1][3],dp[1][3-1] +value[2]) = max(2000,5000),得到只能存放手机。i=3,j=1时,背包无法放下笔记本,只能放下手机或手表,这时dp[3][1] =max(dp[2][1],dp[2][0]+value[3])=max(5000,3000) = 5000。i=1,这时我们看下笔记本时,背包重量从1到4的时候,背包里面的最大价值会是多少。

2023-09-01 23:16:39 812

原创 【深度学习】cs231n-assignment1 - KNN

这一系列主要记录cs231n课程对应的笔记。每学习一个课程,写下来,看看自己理解了多少。cs231n是大牛lifeifei在斯坦福开设的深度学习与计算机视觉课程。 课程地址: http://vision.stanford.edu/teaching/cs231n/syllabus.html 课程ppt: https://github.com/autoliuweijie/DeepLearning

2017-04-23 00:43:25 2481

原创 【图像算法优化】开篇:simd-library介绍及几个优化技巧

本系列主要学习simd-library中的代码,包括basic部分跟neon优化部分。simd-library是用于图像处理的算法库,里面大量的用了SIMD指令对常用的图像处理算法进行优化,github的项目地址为:https://github.com/ermig1979/Simd后续将学习这部分代码,并记录下相关笔记。本文主要是simd-math部分,具体为: https://github.co

2017-04-01 00:14:33 4107

原创 【图像处理】积分图像及其应用

本文主要参考: http://blog.csdn.net/u010839382/article/details/46383423 然后结合自己的理解,在手机上做对应的对比测试。积分图积分图,integral image,是在图像处理中常用于加速计算的一种方法。 在积分图中,某一点的数据S(x,y)S(x,y)表示图像左上角到该点坐标所围成的区域的总和。在积分图中,我们需要做两个操作: 1)构

2017-03-31 00:01:03 5574

原创 【图像处理】多帧降噪算法

多帧降噪算法视频去噪算法

2017-03-30 00:08:25 22548

原创 【其他其他】Windows 7下硬盘安装Ubuntu 16.04

参照这个教程即可完成安装 http://www.linuxidc.com/Linux/2014-04/100369.htm有几个地方需要修改一下: 1、menu.lst的修改: 因为16.04中的是vmlinuz.efi,修改成:title Install Ubunturoot (hd0,0)kernel (hd0,0)/vmlinuz.efi boot=casper iso-scan/f

2017-03-28 23:16:56 676

原创 【EMGUCV】simpleblob detector 斑点检测

本文主要介绍emgucv中的simpleblob detector。算法原理该检测器的原理主要如下: 1. 先设置步进值(thresholdStep)跟二值化阈值范围[minThreshold,maxThreshold),把原图像SrcImg在阈值范围内按照步进依次转化为二值化图像。 2. 从这些二值化图像中提取轮廓,并且计算这些轮廓的中心。 3. 根据这些轮廓的中心坐标进行分组,坐标接

2017-03-17 22:46:43 7673 2

原创 【Emgucv】emgucv实现自动对比度

主要参考: http://www.cnblogs.com/Imageshop/archive/2011/11/13/2247614.html 这里面所描述的自动对比度算法,通过C#及EMGUCV的方式实现。void autoContrastImage(Image<Bgr, byte> image, ref Image<Bgr, byte> imageAC) { /

2017-02-21 23:43:27 3256

原创 【EmguCV】EmguCV各种调用

后续将不定期补充在使用EmguCV过程中的一些笔记,如何调用api实现相应功能。1、查找对应的轮廓IntPtr Dyncontour = new IntPtr();//存放检测到的图像块的首地址 IntPtr Dynstorage = CvInvoke.cvCreateMemStorage(0);//开辟内存区域 int m = 88;int n = CvInvoke.cvFindCont

2017-01-17 23:02:43 5091 2

原创 【其他杂谈】弃坑opengl-jni开发

主要是想说在jni层进行opengl开发是没有前途的,或者这样说是不对的,不够全面的。一开始在jni层进行opengl开发的目的是,为了能够给Android HAL层踢动gpu处理的接口,实现一副图像进去,另一幅图像出来,amazing~但是,好像opengl处理后的图像在surface上显示更加快速,而如果要保存在buffer里面,需要调用glreadpixel这个接口,这个接口的速度前两天才发现

2016-12-17 13:41:36 1078 2

原创 【深度学习】windows下安装TensorFlow

本文主要介绍如何在Windows下安装TensorFlow。 相关背景网上现有的方法都是教如何在windows下安装虚拟机或者安装docker来完成TensorFlow的安装。得益于google目前已经支持直接在windows直接安装,本文记录下在windows下通过Anaconda安装TensorFlow的过程。 Why Anaconda因为Anaconda能够提供强大的包管理功能及虚拟环境,为T

2016-12-17 13:26:59 19517 6

原创 有用的工具

有用的工具1、Diigo谷歌浏览器扩展,这个工具可以用于在网页上进行标记,注释等,使用起来感觉比云笔记还方便。可以每隔一段时间总结查看自己的浏览记录,做的笔记,感觉还不错。好像在谷歌浏览器移动端是没有扩展功能的。

2016-10-31 22:53:01 611

原创 【安卓开发】使用binder进行进程间通信

通常我们会有这样的需求,在安卓系统中,两个独立的进程之间需要通信,如进程A需要进程B的发过来的信号;或者进程A与进程B共享一个内存块;或者进程A是32位进程而进程B是64位进程,为了加速处理过程,需要把进程A处理后的数据传递给进程B进行处理。这个时候就涉及到了安卓系统中的进程间通信,而安卓系统中的进程间通信往往离不开binder。binder是安卓系统中独有的进程间通信方式,关于其实现机制跟原理,可

2016-09-02 23:54:38 1978

原创 【OPENGLES】opengles-jni实例1

首先,说明下为什么要用jni实现opengl es在进行移动端图像算法开发的过程中,需要完成对大量的数据进行处理,opengl是在进行图形渲染或者大批量图像运算处理时有着很大的优势。如果能够在算法库开发中加入opengl,则对于提升算法运行效率有很大帮助。本系列文章则是描述如何用opengl进行图像算法的开发。 本文主要描述如何完成一个简单的opengles实例,通过jni调用opengles接口

2016-07-31 21:19:57 1655

原创 Opengl ES入门1

本系列文章主要总结如何通过实例来介绍如何使用Opengl ES,并且通过Opengl ES完成对应的相机预览、滤镜等实例开发。本文主要介绍最简单的opengl实例。主要参考:http://blog.csdn.net/niu_gao/article/details/8533126以下为详细步骤:1、创建最简单的安卓工程。2、在Manifest中声明使用OpenGLES 为了能使用OpenGLES 2

2016-06-28 22:30:19 670

原创 20160527关于工作

Master毕业快一年了,今晚跟领导的谈话很有收获。1、多发现问题 要多发现工作中的问题,主动提出问题,如何融入公司,完成工作目标很重要。在项目失败之后,有无进行总结,总结为什么会出现问题,项目为什么进行不下去。有什么需要改进的地方。2、立即行动 在有好的想法之后,立即行动,向上级提出想法,这样才能够有提出问题有反馈结果,形成良性循环。3、多交流 多与其他同事交流想法,很多时候想法就是在交流碰

2016-05-28 00:00:06 569

原创 【FastCV】FastCV实例1

在上一篇《FastCV环境搭建》中已经描述了如何搭建FastCV及其导入FastCV SDK自带的demo,这篇文章将讲述如何自己创建一个FastCV项目。1、创建一个新的安卓工程 fastCVTest。2、在工程目录下新建jni文件夹,把fastcv.h及libfastcv.a拷贝到jni文件夹下,并且在文件夹下创建android.mk application.mk image.cpp 文件,编辑

2016-04-20 23:48:41 2597

原创 【opencv】goodFeaturesToTrack源码分析-1

本系列文章为goodFeaturesToTrack源码分析,包括: 【opencv】goodFeaturesToTrack源码分析-1 【opencv】goodFeaturesToTrack源码分析-2-Shi-Tomasi角点检测本文主要描述opencv中强角点检测接口goodFeaturesToTrack的用途及源码分析。1、接口描述在opencv中,该接口的实现是在: ..\source

2016-04-20 20:59:04 4094

原创 【opencv】goodFeaturesToTrack源码分析-2-Shi-Tomasi角点检测

本文章是【opencv】goodFeaturesToTrack源码分析-1的后续,主要描述Shi-Tomasi角点检测算法原理及opencv实现。1、算法原理Shi-Tomasi算法是Harris算法的改进,在Harris算法中,是根据协方差矩阵M的两个特征值的组合来判断是否角点。而在Shi-Tomasi算法中,是根据较小的特征值是否大于阈值来判断是否角点。 这个判断依据是:较小的特征值表示在该特

2016-04-13 21:28:06 3568 1

原创 【图像处理】颜色距离

本篇文章主要描述颜色距离及其具体颜色距离的实现。1、颜色距离颜色距离指的是两个颜色之间的差距,通常距离越大,两个颜色相差越大,反之,两个颜色越相近。在计算颜色距离时,有类似计算两点间欧式距离的公式一样,在RGB空间内,可以得到两个颜色之间的距离为: 其中,C1 C2表示颜色1和颜色2,C1R表示颜色1的R通道。 但是,由于RGB空间是线性的并且相互正交,而人眼的视觉系统并不是线性的,RG

2016-04-12 21:22:40 23361 6

原创 【opencv】ndk编译opencv源码

本篇文章主要介绍如何用ndk编译opencv源码。这篇文章所介绍的步骤是在通过CMAKE配置了opencv源码后的基础上进行的。如果还没有经过vs配置opencv源码,请参照: 【opencv】如何配置修改并调试opencv源代码我们的目标是通过ndk编译opencv源码,能够根据自己的需求修改编译对应的opencv库。整个过程重要的也就是写makefile文件进行编译而已。1、配置环境系统:win

2016-04-05 21:57:14 4804 3

原创 【图像处理】SFR算法详解4

本篇为SFR算法详解系列的第四篇,前面三篇为: 《SFR算法详解1》:什么是MTF,MTF50,MTF50P 《SFR算法详解2》:算法过程描述 《SFR算法详解3》:ROI定义,线性化,centroid本篇主要根据第二篇中的算法流程,描述几个流程及其相关原理。4、线性回归在得到对应的矩心之后,对其进行线性回归。这里采用最小二乘法,求出估计参数a、b。 最小二乘法的目的是为了使得各个矩心

2016-03-31 23:08:30 14687

原创 【图像处理】SFR算法详解3

本篇为SFR算法详解系列的第三篇,前面两篇为: 《SFR算法详解1》:什么是MTF,MTF50,MTF50P 《SFR算法详解2》:算法过程描述本篇主要根据第二篇中的算法流程,描述前面的几个流程及其相关原理。这里参考标准中的附录C算法原理及mitre SFR的代码实现,并结合自己需要对其进行优化。1、获取图像ROI这里从拍摄的图像(一般为RGB)中截取ROI区域,并将其转换为Gray。有个问题就

2016-03-31 22:51:11 22005 3

原创 【opencv】如何配置修改并调试opencv源代码

这篇文章主要介绍如何通过vs2012配置opencv,然后再具体修改调试opencv的代码。1、配置opencv工程项目这里主要是介绍如何通过vs2012编译源代码,具体步骤可以参考:【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译因为我用的vs版本是vs2012,对应于VC11,在编译的过程中,如果出现以下类似的问题,可以参考一下:1)CMa

2016-03-31 20:59:55 12654 2

原创 【图像处理】sobel算子简述

sobel算子是什么在图像处理上,算子一般也可以认为是滤波器filter,滤波器就是在一个像素点上对它进行与邻域之间的运算。如中值滤波,就是在以像素点为中心,上下左右左上左下右上右下为邻域的集合里,如下图所示结构: 中值滤波就是对P1到P9进行排序,然后获取数值大小排在中间的值,把这个值当做该中心像素点P5的新值。而sobel算子,是为了用来计算边缘的,一般而言,以3x3为大小,有下面这两种形

2016-03-14 21:32:15 12826

原创 【图像处理】SFR算法详解1

这几篇文章写的是SFR算法,主要根据相关的概念及其对应的标准和源码,来看看SFR究竟是什么?这里先简单介绍下一些基本的概念1、什么是MTFMTF算法是分析镜头解像能力的算法,其全称是Modulation Transfer Function(调制传递函数)。为了理解这个,首先需要知道什么是调制Modulation。Modulation类似于对比度的概念,其数学表达公式如下: 它表示的是亮度最大值

2016-03-14 20:44:42 38005

原创 【图像处理】SFR算法详解2

这个是《【图像处理】SFR算法详解1》的后续,本篇主要讲解SFR算法过程。这里主要参考ISO 12233标准所描述的SFR算法过程,详见《ISO 12233-2000 Camera resolution measurement》中6.3 Saptial frequency response。1、水平SFR及垂直SFRSFR是通过分析相机拍摄到的图像中一个黑色到白色的斜边而得到的,即下图中所示的红框部

2016-02-19 22:22:36 26971

原创 【图像处理】矩阵运算代码实现2-矩阵求逆

这篇总结是《矩阵运算代码实现1》的后续,主要对矩阵求逆的算法及代码实现进行描述。具体如下。矩阵求逆算法这里采用的是LU分解对矩阵进行求逆。原理如下: inv(A)=inv(LU)= inv(U)inv(L) 将原矩阵A分解成两个三角矩阵,上三角矩阵L和下三角矩阵U。通过求解U和L对应的逆矩阵,即可求得相应A的逆矩阵。算法分成以下几个步骤: 1)矩阵的LU分解 对于LU上每个位置的值,可以用以

2016-02-18 21:43:19 2628 2

原创 【图像处理】矩阵运算代码实现1

这里主要实现矩阵的一些基础运算,包括转置及乘法。后续将进行矩阵求逆的总结。 由于转置及乘法都比较简单,对其原理不再赘述。1、矩阵打印void matPrint(double* mat, int row,int col){ for(int i=0; i<row; i++) { for(int j=0; j<col; j++) printf("%

2016-02-18 21:02:04 1781

原创 【图像处理】OTSU二值化原理及代码实现

基本思想OTSU算法主要用于在灰度图像中查找一个阈值k,该阈值把图像区分为前景图像C0和背景图像C1。关键在于阈值是怎样确定的。OTSU算法的思路类似于聚类,聚类就是给定一定的数据,让你根据数据的特性进行分类,使得这两类的数据能够分类合理,即常说的无监督学习。相对应的监督学习则是给定数据及分类对训练器进行训练然后对新数据进行估计。对于这个阈值k,我们可以得到两个分类

2016-02-18 20:42:01 4623 1

原创 【图像处理】空间变换

概念在图像处理中的空间变换(spatial transformation)分成两种情况,有仿射变换(Affine Transformation)及投影变换(Perspective Transformation)。仿射变换是从一个二维坐标变换到另一个二维坐标,它是一种线性变换,保持了图像的平行性和平直性,即在变换之后,原先图像中的直线与平行线还是保持一致。只是位置存在变化。仿射变换包括平移(Trans

2016-02-18 20:23:38 17739

原创 【图像处理】相机成像原理

这里对于相机成像原理做一个简单的介绍。如下图所示,在最左端的顶点为相机,它的镜头正对着地面上的点O,横向视场角为a,纵向视场角为θ,它所看到的区域就是就是如下所示的四边形,存在一定的投影变换。而地上的这个矩形在经过镜头对光线的处理之后,会呈现在摄像头的感光单元sensor上。其排列大致为:O‘ 为对应的O的位置,对应的像素在sensor上的UV坐标系中。在s

2016-02-17 23:10:24 3483

原创 【图像处理】RGB转YUV 优化

最近在项目的过程中需要用到 YUV 的 Y通道数据,但是原始数据图像为RGB格式,所以自己写了一个RGB2YUV的程序,并且进行优化,对此总结如下。RGB2YUV 原理RGB及YUV是两种不同的颜色空间,具体可以换算关系如下:根据该换算关系,我们直接可以得到Y通道数据。程序1void rgb2yuv2(unsigned char *R,unsigned char *G,unsigned char *

2016-02-03 21:47:37 3180

翻译 【安卓开发】JNI常用接口 - 5

jni

2016-01-31 22:05:01 421

翻译 【安卓开发】JNI常用接口 - 4

jni

2016-01-31 22:04:27 467

翻译 【安卓开发】JNI常用接口 - 3

jni

2016-01-31 22:03:18 638

翻译 【安卓开发】JNI常用接口 - 2

jni

2016-01-31 22:01:30 451

翻译 【安卓开发】JNI开发常用接口 - 1

jni

2016-01-31 21:59:40 332

转载 【图像处理】NEON编码4 - 左右移位

原文地址本文将介绍NEON提供的移位运算,并显示如何利用移位运算在常用颜色深度之间转换影像数据。本系列前期已发布的文章包括:第1部分:加载与存储,第2部分:余数的处理,第3部分:矩阵乘法。向量移位NEON上的移位与标量ARM编码中可能用到的移位非常相似,即每个向量元素的位数均向左或向右移位,出现在每个元素左侧或右侧的位将被删除;它们不能移位至相邻的元素。带符号元素的向量上发生的右移位由指令附加的类型

2015-12-17 20:23:29 2322

openglTestJni,简单的通过jni调用opengl es接口的实例

简单的通过jni调用opengl es的实例。

2016-07-31

opengl实例1

opengl es 最简单实例。

2016-06-28

fastcvTEST

fastcv 测试demo

2016-04-23

ndk编译opencv源码

通过ndk编译opencv源码,能够根据自己的需求修改编译对应的opencv库。整个过程重要的也就是写makefile文件进行编译而已。

2016-04-05

ippicv_windows_20141027.zip

解决CMAKE编译opencv问题: CMake Error at 3rdparty/ippicv/downloader.cmake:97 (message): ICV: Failed to unpack ICV package from D:/Program Files/opencv/sources/3rdparty/ippicv/downloads/windows-b59f865d1ba16e8c84124e19d78eec57/ippicv_windows_20141027.zip to D:/Program Files/opencv/sources/3rdparty/ippicv/unpack with error 1 Call Stack (most recent call first): 3rdparty/ippicv/downloader.cmake:108 (_icv_downloader) cmake/OpenCVFindIPP.cmake:212 (include) cmake/OpenCVFindLibsPerf.cmake:12 (include) CMakeLists.txt:454 (include)

2016-03-28

otsu二值化代码

OTSU算法,visual studio 2012版本,打开即可使用

2016-02-22

3菱plc资料

3菱plc资料

2012-06-13

删繁就简-单片机入门到精通

书中内容易于理解,采用口语方式讲述单片机的一些相关知识、经验和技巧。

2012-04-16

各大公司的面试题

各大公司的面试题 华为,中兴,google,腾讯等。 找工作肯定有帮助。

2012-02-22

程序员面试宝典

程序员面试宝典。 内含面试C语言该注意的相关问题。 经典,希望能对你有帮助。

2012-02-22

简单易懂的51单片机教程

简单易懂的51单片机教程 每个课时详细 内容丰富 打下坚实的单片机基础 修炼内功的必备资料 辅助早日成为单片机大虾..

2009-11-08

空空如也

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

TA关注的人

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