
图像处理与机器视觉
枯萎的海风
向来缘浅, 奈何情深, 彼此豆蔻,谁许谁地老天荒, 敌不过似水流年, 逃不过此间少年
展开
-
視覺相關
updating ….face_recognition 號稱最簡單的人臉識別api(python) 提供了 人臉定位和人臉比對這兩項功能,蠻好用的 注意安裝:pip install dlibpip install face_recognition原创 2017-12-08 21:51:46 · 615 阅读 · 0 评论 -
使用 levenberg-marquardt 优化 欧式空间中的三维点变换关系
1. 前言最近涉及到一部分将原先matlab的计算机视觉的相关代码转化成C++实现,其中,有一段是关于空间点变换的。简单来讲,已知欧式空间中的一组空间点W1W_1,在经过某个欧式变换RTRT之后,得到另一组空间点W2W_2,现在在已知W1,W2W_1,W_2的前提下,我们需要求解对应的RTRT。2. 基本思路其实这个过程是非常简单的,显然,W2=RT∗W1W_2 = RT * W_1, 于是, RT原创 2017-04-24 22:23:04 · 1520 阅读 · 1 评论 -
PCL1.8.0+VS2013配置教程
点我进入原文下载把你需要安装的PCL版本及属性表都下载下来。然后解压。百度网盘:http://pan.baidu.com/s/1c1sqoQO安装1.在安装PCL一键安装包时,勾选上Add PCL to system PATH for all users。安装过程中,会弹出OpenNI的安装程序,更改OpenNI的安装路径为你安装的PCL路径下的3r转载 2017-04-20 22:44:54 · 1176 阅读 · 0 评论 -
使用pcl绘制空间点云
1.前言临近毕业,估计老板看我工作量不够,特地又加点工作也是醉了。以前使用matlab写过三维点重构的程序,然后使用plot函数可以非常方便的显示出点云效果,但是现在老板要求要用C++写,于是就蛋疼了2. 基本思路三维重构部分使用opencv的Mat可以非常方便的计算,但是三维点的显示工作就有些费劲了,于是我们想到了pcl, pcl是一种点云处理的开源库,相关配置过程 可以参考: http://bl原创 2017-04-20 22:40:07 · 5382 阅读 · 3 评论 -
【图像处理】提取图片中的交点数据 [已删除]
说明: 原来发这篇文章的时候完全没有想到老板会把这个东西布置成作业,怕老板看到会不高兴,于是就暂时先删除了,以后有机会再公布出来,ps:好好的一篇博客还要删掉不忍心啊原文链接: http://blog.youkuaiyun.com/zhyh1435589631/article/details/530847951. 前言前两天老板突然给了一幅图像数据, 让我提取出其中的交点信息, 图片是原创 2017-04-04 21:21:37 · 2319 阅读 · 5 评论 -
Harris角点两篇比较好的文章
主要转载下面两篇博文,因为讲的比较好,放到一起便于理解1. Harris角点点我进入原文2. Harris角点检测原理分析 点我进入原文============================【Harris角点】=======================1. 不同类型的角点在现实世界中,角点对应于物体的拐角,道路的十字路口、丁字路口等。从图像分转载 2017-03-14 11:30:35 · 6291 阅读 · 0 评论 -
win10 安装点云库 pcl 1.8.0
点我进入原文如果希望自己编译PCL 可以参考文章 http://blog.youkuaiyun.com/aptx704610875/article/details/49947049PCL1.8.0 ALL in One 下载网页 : http://unanancyowen.com/en/pcl18/运行效果:兔子数据文件地址: http://download.c转载 2017-01-17 16:28:47 · 6594 阅读 · 2 评论 -
旋转矩阵与四元数
点我进入原文在计算机图形学的学习中,几何变换(Transformations)是一块重要的内容,我们使用齐次坐标(Homogeneous coordinates)描述点和向量,使用变换矩阵描述平移、旋转等变换。而在平移、旋转、缩放这几种变换中,又以旋转的情况最为复杂。实际上,计算机图形学中三维空间的旋转不仅仅有旋转矩阵一种表达形式,欧拉角(Euler angles)和四元数(Q转载 2017-01-16 09:16:40 · 5456 阅读 · 0 评论 -
使用tinyXML2 读写配置文件
1. 前言我们上次写了一段用来提取图片中交点信息的程序: http://blog.youkuaiyun.com/zhyh1435589631/article/details/53084795 但是, 我们发现代码中存在好多奇异值,非常的讨人厌, 我们就希望可以讲这部分变化的参数移动到配置文件中, 我们只需要让程序读取这个配置文件中的参数就可以了。2. TinyXML22.1 TinyXML2 基本介绍Tin原创 2017-01-09 22:29:27 · 2927 阅读 · 1 评论 -
【实验小结】cs231n assignment1 knn 部分
1. 前言这个是斯坦福 cs231n 课程的课程作业, 在做这个课程作业的过程中, 遇到了各种问题, 通过查阅资料加以解决, 加深了对课程内容的理解, 以及熟悉了相应的python 代码实现2. 具体实现部分2.1 knn 调用程序2.1.1 简单说明knn 算法原理非常简单, 我们之前也总结过一次: http://blog.youkuaiyun.com/zhyh1435589631/article/deta原创 2017-01-08 20:40:05 · 20793 阅读 · 13 评论 -
OpenCV中的神器Image Watch
点我进入原文OpenCV中的神器Image WatchImage Watch是在VS2012上使用的一款OpenCV工具,能够实时显示图像和矩阵Mat的内容,跟Matlab很像,方便程序调试,相当好用。跟VS2012配合使用,简直就是一款神器!让我一下就爱上它了!第一次看到Image Watch是今年3、4月份的时候,当时是在微博上看到新闻,点击链接的下转载 2017-01-03 17:16:38 · 942 阅读 · 0 评论 -
[学习笔记]cs231n 图像分类与KNN
1. 参考资料中文版: http://blog.youkuaiyun.com/han_xiaoyang/article/details/49949535 英文版: http://cs231n.github.io/classification/2. 一些理解这里本质上采用的是利用图像的曼哈顿距离 作为衡量图片相似度的依据, 但是, 很明显, 这种方式进行图像分类得到的误差是非常大的。为了均衡误差, 采用 K原创 2016-12-12 14:16:36 · 564 阅读 · 0 评论 -
视觉里程计研究小结
1. 前言昨天在看甄嬛传的时候,被刚哥安利了他的研究课题:视觉里程计。然后丢给我两篇综述文章,让我研究下。然后,我居然放下了电视剧,看起了英文文献,oh,my god ~~文献原文地址: http://download.youkuaiyun.com/detail/zhyh1435589631/9707527 下面记录下, 自己读完这篇文献之后的一些笔记2. VO2.1 介绍VO (visual odomet原创 2016-12-10 23:40:15 · 15722 阅读 · 1 评论 -
autocad 绘制相机模型示意图
1. 前言最近忙着中期答辩, 答辩的时候需要画两幅示意图,如下所示: 如果直接贴这样的图到ppt上面,肯定要挨批, 但是又想不出用什么软件可以画,纠结了好久。最后没办法只能使用autocad2. 绘制流程2.1 软件安装首先安装autocad,这里图省事儿,使用了autocad 2007版本 链接:http://pan.baidu.com/s/1jI0SJEe 密码:xedg使用的时候遇到原创 2016-12-09 15:39:38 · 2730 阅读 · 0 评论 -
使用手势识别控制虾米音乐播放
1. 前言前段时间看到大神的博客 基于动态手势识别的酷狗音乐播放器控制, 非常感兴趣, 于是download 了大神的源码,http://download.youkuaiyun.com/detail/onezeros/2954830, 研究了一下, 并做了一定的调整。最终效果: 电脑截屏: http://www.iqiyi.com/w_19ruiswqkp.html 手机拍摄: http://www.原创 2016-12-01 23:21:19 · 5143 阅读 · 5 评论 -
[复现笔记]基于双目视觉和三维重构的三维书写系统
1. 前言前段时间正好看到一位大神的博客 http://blog.youkuaiyun.com/onezeros/article/details/6110838 利用双目视觉来构建一个书写系统, 涉及到相机的标定, 图像处理, 重构等相关内容, 自己对这方面也比较感兴趣, 于是就将他的代码git clone 下来做了研究, 这里给出一些研究的相关记录 同时, 我将自己根据源代码进行改写的opencv2.0原创 2016-11-28 15:04:26 · 1365 阅读 · 0 评论 -
给你的头像+1 的opencv实现
1. 前言题目是牛客网的, 链接如下: https://www.nowcoder.com/discuss/19598?type=0&order=0&pos=4&page=1 觉得这个蛮有意思的, 于是顺手用opencv 实现了一下2. 实现2.1 效果2.2 字符添加位置的说明这里面感觉唯一的一个需要推敲的一个点, 应该就是实现字符的居中放置了, 牛客网上好多同学采用的是人机交互的方式, 手工放原创 2016-11-26 15:16:32 · 1075 阅读 · 0 评论 -
使用opencv提取手部信息
1. 前言这两天对大神的一篇博客中的东西非常感兴趣 http://blog.youkuaiyun.com/onezeros/article/details/6110838想到自己也算是研究计算机视觉的人, 于是就想把大神的这个东西给复现出来。 正好其中用到了一个手部信息提取的一个功能, 按照自己的想法给实现了一下。 实现效果: 2. 处理流程2.1 处理思路及流程首先我们先分析采集的图像中的某一帧图像信原创 2016-11-22 23:14:30 · 10494 阅读 · 6 评论 -
使用opencv 绘制数据图
1. 前言去北京的高铁上, 老板估计是看我们看视频不太爽, 于是让我们写一个用opencv处理数据并绘制相应图形的小程序, 使用matlab非常简单, 可以用opencv 真就呵呵了。百度之后,找到一个现成的版本, 效果不错, 不过有些小bug 参考: http://blog.youkuaiyun.com/xiaoxiaodongshige/article/details/481348952. 显示效果3.原创 2016-11-20 16:25:37 · 12767 阅读 · 1 评论 -
文件加解密操作
1. 前言老板之前布置的一个任务中有一个对文件进行加解密的需求,拖了好久都没做, 今天正好想起来,做了一下, 虽然遇到了一些问题, 但是做完之后的感觉是棒棒的呢。2. 基本思路由于我们需要加密的目标文件是ascii文件,我们希望可以将他通过一个密钥进行加密,然后输出到一个二进制文件中。加密算法我们这里使用的非常简单, ie, 对文件中的每个字节数据与我们的密钥进行异或操作, 得到加密后的数据,原创 2016-11-08 23:13:26 · 3101 阅读 · 0 评论 -
利用 ransac 算法拟合平面
1.前言最近项目中遇到一个问题, 老板给了一组数据然后要求获取其中处于同一个平面上的数据点的信息, 很明显就是使用ransac 算法进行处理。2. ransac算法思想这里我们使用自己的理解来说明下这个算法。 1. 首先我们从给定的数据集中随机挑选几组数据获取一个模型(最好可以保证随机挑选的数据不重复) 2. 将这个拟合方程作用于所有的数据,根据阈值区分出模型的内点和外点信息 3. 重复多次上原创 2016-11-01 10:16:25 · 14943 阅读 · 5 评论 -
求空间两条直线之间的距离
1. 前言最近老板让写一段空间点匹配的代码, 其中涉及到求空间两直线之间的距离,写起来满费劲的, 这里做一个记录。2. 处理思路空间两直线之间的位置关系主要可以分为: 重合, 平行, 相交, 异面。2.1 异面情形(含相交): 已知空间中两线段,如果它们无限变粗,判断是否相交。(主要讨论不在同一平面的情况)线段AB 线段CD 问题的关键是求出这两条任意直线之间的最短距离,以及在这个距离上的原创 2016-10-28 21:52:42 · 34379 阅读 · 5 评论 -
64位Win7下编译Python3的计算机视觉库:OpenCV
点我进入原文=====【opencv3.1 + python 3.4.4 + vs2013 亲测可用】=====64位Win7下编译Python3的计算机视觉库:OpenCV 注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) OpenCV目前最新版是3.0.0 rc1,转载 2016-10-16 16:08:56 · 2053 阅读 · 0 评论 -
应用程序无法正常启动0xc000007b 问题记录
1. 前言老板让把实验室的相机系统优化一下, 结果突然一个错误: 2. 处理方法上网搜了一堆解决方案: http://jingyan.baidu.com/article/4dc408488ff783c8d946f1e8.htmlhttp://www.jb51.net/os/win10/408746.html装了 Direct X 9c, 修复了Direct X , 安装了 .net 平台 一点用原创 2016-10-12 20:07:12 · 3215 阅读 · 0 评论 -
matlab 数组元素去重
1. 前言今天老板突然在群里问了一个问题, 如何使用matlab 将一个数组中重复出现的所有元素剔除。 ie: [1,1,2,3,4] ⇒ [2,3,4]2. 实现思路基本思路就是统计每个元素出现的次数, 然后选出出现次数为 1 次的进行输出。 使用C++ 我们可以借助一个 map 非常容易的实现, 但是要求用matlab 确实有些费劲。。。。3. 实现方法其中, histc 是原创 2016-10-08 20:57:32 · 6670 阅读 · 0 评论 -
借助 windows cmd 批量创建文件夹
1. 前言最近老板吵着让我和师弟做实验, 做实验的时候, 每次都要手工建立一个文件夹, 非常费劲。 个人又非常懒, 希望能够找到一个便捷的方式可以批量创建文件夹2. 处理思路借助windows 的批处理工具, 使用for 循环直接生成3. 实现代码@echo offfor /l %%i in (1, 1, 10) do mkdir %%ipause4. 参考资料for 循环原创 2016-07-14 19:21:15 · 4548 阅读 · 0 评论 -
解读相机镜头中的那些名词 — 焦距、焦段、光圈、景深
点我进入原文解读相机镜头中的那些名词 — 焦距、焦段、光圈、景深2014-08-12 10:21 分类:镜头上一篇写了定焦和变焦的选择问题,有朋友要求写系列。楼主思前想后,觉得自己原本是个懒懒散散的人,把这些杂七杂八的东西整成一个系列实在有些勉为其难了,因为连我自己也不知道能分成几篇来写,所以姑且还是单章吧。楼主的原则是写到哪里算转载 2016-06-23 10:03:13 · 8797 阅读 · 1 评论 -
vs2013中MSComm通讯控件的导入和注意事项
点我进入原文需要强调的是:新版本的Visual studio使用MSComm时之前很多以Set开头或者Get开头的函数都改成了以Put_开头或者Get_开头。如之前的SetCommPort改成了Put_CommPort; GetInput 改成了Get_Input;如果还是希望使用老版本的 接口函数的话, 可以在导入控转载 2016-05-12 21:57:20 · 3135 阅读 · 1 评论 -
使用vb.net获取相应文件夹下相应文件的个数并显示
1. 前言因为我们实验室是做机器视觉方向的, 经常需要拍图, 最近在做双相机的实验, 但是拍图的时候, 可能会有很小几率的丢帧现象, 就是一个相机拍到图了, 另一个相机没有, 这个很讨厌。 我们本来是通过观察 左下角的数字来确定文件夹中相应的图片的数量, 不过这个太费劲了, 并且数字也特别小, 于是我们就想写个小程序来处理这个问题。2. 实现这里我们使用vb.net 来实现, 为什么用这个呢原创 2016-05-10 15:31:14 · 5445 阅读 · 0 评论 -
Lab 相关 --- MFC 模拟鼠标按键消息
1. 前言今天, 老板让实现一个利用蓝牙控制触发器实现拍图的功能模块。先说下, 我们现有的相机系统的功能模块: 上面两个呢, 是我们的相机的显示界面, 分别用来处理彩色相机和黑白相机。 黑白相机已经集成了 触发器模块, 蓝牙模块, 但是现有的蓝牙处理程序只能控制非触发方式下的拍图功能。 对于触发方式的拍图, 现在的手段只能是通过鼠标点击send 按钮2. 模型分析简化首先, 个人是一个比原创 2016-05-04 21:34:07 · 1335 阅读 · 0 评论 -
Lab 相关---四相机同步拍摄说明
1. 前言这部分是我们所做的实验室图像采集系统中的一个功能模块。 我们的相机采集系统本来是可以直接进行采图存图操作的, 但是并不保证同步, 或者说他们之间的同步性能并不高。 由于, 老板要求实现精确的同步采图功能, 所以这个模块需要我们进行修改。2. 处理流程2.1 查阅资料因为这是一个新的项目需求, 我们就想从相机的角度出发, 看看相机自身有没有给我们提供了这个一个相关的处理方法, 如果有的话,原创 2016-04-28 13:46:05 · 2769 阅读 · 1 评论 -
【中国科大精密机械与仪器系2014】图像处理大作业之门牌号码识别大作业 opencv 版本
1. 前言当时做图像处理大作业的时候, 用的是matlab,因为比较懒就没有使用 opencv 写, 最近突然心血来潮用opencv实现了一下2. 题目描述 PI05302: Digital Image Processing Homework #6 Problem 1 用相机自行拍摄一幅图像,编程实现图像边缘检测、图像分割、特征提取以及图 像识别等任务。 拍摄的图像原创 2016-04-25 18:39:42 · 3843 阅读 · 9 评论 -
蓝牙资料备份
1. 前言今天晚上的时候突然看到csdn 上推荐的一篇文章,讲的是使用蓝牙连接小米手环的方法, 里面讲述的东西和我们之前做的连接小蚁遥控器的方法有些相似, 当时卡在uuid上面, 这次忽然发现可以使用 lightblue 查看uuid, 后来搜索的过程中发现, android 上面也有可以直接查看 uuid 的软件 nRF Master Control Panel (BLE) 打算明天去实验室实原创 2016-04-23 00:36:00 · 909 阅读 · 0 评论 -
Lab 相关 --- 相机曝光度自动调节
1. 前言仅用作自己备份使用, 有些内容比较私密, 就不再写出2. 效果:配置失败时候, 会提示请手动配置, 配置成功会提示配置成功3. 一些配置文件说明:请在相机AVT.exe 文件对应目录下, 放置一个配置文件 expo.ini 其格式为 左相机曝光度下限, 左相机曝光度上限, 右相机曝光度下限, 右相机曝光度上限, 左相机曝光度调节步长, 右相机曝光度调节步长。2.程序会优先读取原创 2016-04-21 12:05:57 · 896 阅读 · 0 评论 -
VS 2013 中MFC程序编译过程出现 RC2108错误
点我进入原文亲测使用 在出问题的 CONTROL 代码中 添加 "Static", SS_BITMAP可以解决这个问题另外一篇文章 http://blog.youkuaiyun.com/renyhui/article/details/23120469 也讲述了这个问题VS 2013 中MFC程序编译过程出现 RC2108错误2013-12-31-16:05转载 2016-04-18 17:37:56 · 1465 阅读 · 0 评论 -
Lab 相关 ---- 无法读取项目文件 xxx.vcxproj 的解决方法
1. 问题描述最近从师兄那边接手一些项目, 打开工程的时候报了这么一个问题, 之前解决过, 但是没有记录下来, 这次正好记录一下。 2. 解决方法问题描述很清楚了, 就是师兄在工程中配置的opencv的路径和我们这台机器上不一样, 只需要打开 VisualNavigateCar.vcxproj 修改相应的opencv 的配置路径就好了 ps: 最好不要在移动硬盘上打开, 拷贝到本机上操作就好了原创 2016-04-18 15:51:22 · 7990 阅读 · 0 评论 -
实验室相关--实现相机程序自动检测和运行功能
1. 前言这个是我们所负责的实验室的一个相机系统的相关内容,鉴于一些原因呢, 很多东西不能写出来, 只是作为自己资料备份使用。。。2. 自动配置左右相机效果在我们原先的相机程序中, 检测相机和启动相机是分开的, 需要用户独立按键。如下图所示: 而现在我们的程序中, 会根据程序对应目录下的left.ini 和 right.ini 自动配置相应的相机, 并启动他的显示界面。 如果启动失败, 有相原创 2016-04-15 19:46:19 · 1027 阅读 · 0 评论 -
OpenCV数据结构之Mat 底层结构
点我进入原文地址OpenCV数据结构之Mat在讲解Mat之前,先来介绍一些基础知识。阵列的数据类型阵列的数据类型定义了为阵列的每个元素(图片中的像素)分配的比特数以及如何使用这些比特数表示元素的值。任何阵列的元素都应该有下面数据类型的一种:单通道阵列CV_8U (8 bit 无符号整数)CV_8S (8 bit 有符号整数)CV_16U(转载 2016-04-15 13:50:34 · 1361 阅读 · 0 评论 -
对三维点集的归一化变换
1. 前言昨天处理实验室的数据,处理了整整一天, 都没有出来理想的结果, 后来调试发现, 出现了两个问题: 1. 非线性优化中传入的计算参数传错了。 2. 程序中使用各项同性的归一化方法出来的结果, 比非各项同性归一化出来的结果明显要好。2. 归一化变换在计算 2D 单应矩阵 H 的时候, 一定存在某些坐标系表示的方式明显优于其他坐标系, 对于3D 空间中的数据变化计算他们之间的 H=(R0TT原创 2016-04-06 10:24:03 · 9444 阅读 · 0 评论 -
python 查找相应图片数据路径并调用exe程序
今天在处理实验室采集的图像数据的时候, 需要调用师兄的一个程序, 而师兄是将这个程序所需要处理的图片文件夹的路径写死在了exe文件里面, 导致每次计算一个文件夹中的图像数据的时候, 都需要重新编译一次, 非常费劲。 比较懒的我,于是想到, 是不是可以使用python, 将我所需要处理的图像文件夹提取出来, 然后把他们作为参数, 传递给师兄的程序呢? 于是我将师兄的exe程序重新编译了一下, 使他原创 2016-03-25 13:29:08 · 1317 阅读 · 0 评论