<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cuixing001的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cuixing001</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cuixing001]]></copyright><item><title><![CDATA[非极大值抑制NMS算法实现]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/84946990</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/84946990</guid><author>cuixing001</author><pubDate>Mon, 10 Dec 2018 21:59:04 +0800</pubDate><description><![CDATA[      众所周知，NMS在计算机视觉和深度学习领域有着广泛的应用，特别是目标检测，视频行为动作定位等都有所涉及。其目的是消除重复的检测框或者时间段。下面以行人检测为例进行说明，目标检测算法一般都会给出检测目标的位置和预测置信度（或分数），然后NMS算法会根据分数排序（由高到底）检测框，对于分数较低的检测框会在一定阈值（IOU）条件下舍弃。

     IOU的计算有两种计算方法，一种是unio...]]></description><category></category></item><item><title><![CDATA[基于卡尔曼滤波算法在三维球轨迹中跟踪应用]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/84203398</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/84203398</guid><author>cuixing001</author><pubDate>Sun, 18 Nov 2018 19:38:27 +0800</pubDate><description><![CDATA[      关于卡尔曼滤波跟踪算法的理解文章实在太多，绝大多数都在叙述算法原理和一些理解，而且一般举例都限于一维直线运动或者二维平面运动，故在此不做过多的重复表述，有关原理理解性的文章请参考本博客后的reference。而此篇博客旨在从另外角度去逐步实现卡尔曼滤波在三维轨迹球预测上来，假设读者能够理解卡尔曼的5个公式（2个predict，3个update/correction），不懂可以参考文后的...]]></description><category></category></item><item><title><![CDATA[基于图像处理技术的工业缺陷检测]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/83246218</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/83246218</guid><author>cuixing001</author><pubDate>Sun, 21 Oct 2018 22:16:59 +0800</pubDate><description><![CDATA[       工业缺陷检测有很多应用的地方，如汽车轮毂制造的缺陷、手机壳的缺陷、太阳能电池板的缺陷等等。由于问题比较简单，这次针对太阳能电池板进行缺陷检测，即电池板上有很多条状撕裂细纹或者小斑点视为缺陷。由于图像很多（成千上万，每块板有6*10小块，基本均匀大小分布），这里只给出代表性的一整块太阳能电池板，其中最后一小块（patch）有细纹缺陷，其他小块略有斑点缺陷。



一、求解思路

这里主...]]></description><category></category></item><item><title><![CDATA[error C2039: “type”: 不是“cv::DataType<T>”的成员的解决方案]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/82624235</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/82624235</guid><author>cuixing001</author><pubDate>Tue, 11 Sep 2018 13:22:58 +0800</pubDate><description><![CDATA[大家在使用OpenCV的时候经常会遇到各种各样的错误，对于一些简单的基本上能够从报错信息查找到原因，但是往往也会遇到很难发现错误的地方，因为C/C++是一种编译语言，不像python/matlab直接可以找到出错的地方。

出错的地方编译不通过，出现“D:\opencv3_4_2\opencv\build\include\opencv2/core/traits.hpp(366): error C2...]]></description><category></category></item><item><title><![CDATA[从n个矩阵中各挑选一个元素形成组合]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/82531320</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/82531320</guid><author>cuixing001</author><pubDate>Sat, 08 Sep 2018 17:25:10 +0800</pubDate><description><![CDATA[这个属于一般基本问题，偶尔会用到这个知识点，有些库或者软件提供了此功能函数，但按照自己思路编写是非常有意义的事了。

比如A = [1,2,3],B = [4,5],C = [6] 这里有三个矩阵，从每个矩阵取出一个元素形成组合有3*2*1=6种组合，分别为  1     4     6；
     2     4     6；
     3     4     6；
     1     5  ...]]></description><category></category></item><item><title><![CDATA[pytorch实现多项式拟合]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/82317630</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/82317630</guid><author>cuixing001</author><pubDate>Sun, 02 Sep 2018 18:14:03 +0800</pubDate><description><![CDATA[首先给出真值多项式参考方程：



其对应参数形式为：



程序实现思路为 ：根据方程1，给定一些列（假如默认是32个）（x，y）对应点集，及最小均方差为目标，求解最佳参数（w1,w2,w3,b）。

终止条件：小于1e-3退出循环。

编辑器：Spyder


# -*- coding: utf-8 -*-
&quot;&quot;&quot;
Created on Sun Sep  2 17:54:11 2018

@a...]]></description><category></category></item><item><title><![CDATA[github上配置个人博客]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/82229164</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/82229164</guid><author>cuixing001</author><pubDate>Thu, 30 Aug 2018 23:33:01 +0800</pubDate><description><![CDATA[      由于优快云博客充斥着太多广告，页面看起来很不清洁，故尝试着用github做下配置，一方面是个人做个总结，另一方面方便其他人配置。

一、github仓库创建

1，进入github官网，首先要有自己的账号和密码创建repository。没有的自行注册很简单。有了登陆账户后，就可以创建一个新的仓库，如图1。



 

2,填写仓库的属性，务必注意仓库名repository name与...]]></description><category></category></item><item><title><![CDATA[并行程序实现语音实时播报“检测人脸”]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/82120996</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/82120996</guid><author>cuixing001</author><pubDate>Mon, 27 Aug 2018 23:54:12 +0800</pubDate><description><![CDATA[一方面程序要实时运行，另一方面如果检测到人脸，语音就应该及时播报出来，但不会影响其他程序的进程，这就要用到并行方法。主程序为：


%% matlab并行实现语音实时播报“检测人脸”
cap = webcam(1);% 打开USB摄像头
faceDetector = vision.CascadeObjectDetector('MinSize',[120,120]);
player1 = visio...]]></description><category></category></item><item><title><![CDATA[pytorch在windows10上安装使用]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/81952116</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/81952116</guid><author>cuixing001</author><pubDate>Wed, 22 Aug 2018 22:20:02 +0800</pubDate><description><![CDATA[      近年来，深度学习框架如雨后春笋般的涌现出来，如TensorFlow、caffe、caffe2、PyTorch、Keras、Theano、Torch等，对于从事计算机视觉/机器学习/图像处理方面的研究者或者教育者提高了更高的要求。其中Pytorch是Torch的升级版，其有非常优秀的前端和灵活性，相比TensorFlow不用重复造轮子，易于Debug调试，极大的提高开发效率，使得其在其他...]]></description><category></category></item><item><title><![CDATA[基于AR的实时算法在虚拟屏幕上播放视频及实现]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/81415832</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/81415832</guid><author>cuixing001</author><pubDate>Sat, 04 Aug 2018 22:46:35 +0800</pubDate><description><![CDATA[        AR（Augmented Reality）是计算机视觉方面一个重要的研究方向，原来听说过，感觉很有意思，故究其原理，用一定的视觉算法加以实现。

这里主要用到相机标定和一些图像的投影透视变换的技术，标定的目的是获取相机的内外参，从而获得投影矩阵P，然后进行下面的点映射之间的关系。一般情况下的相机标定是非常成熟不过的东西了，技术文章也是铺天盖地，目前绝大数标定方法都属于张正友的方法，...]]></description><category></category></item><item><title><![CDATA[基于非棋盘网格相机标定点自动顺序排序算法解析]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/81194145</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/81194145</guid><author>cuixing001</author><pubDate>Tue, 24 Jul 2018 23:32:35 +0800</pubDate><description><![CDATA[相机标定技术是计算机视觉中最常不过的方向了，目前绝大数都是通过棋盘网格的图像进行相机标定，这是最通用最省时间的办法，因为棋盘图像标定前人已经做的非常完善，提供现成的函数或者方法流程，如OpenCV中的findChessboardCorners，calibrateCamera等函数，Matlab中如detectCheckerboardPoints,estimateCameraParam...]]></description><category></category></item><item><title><![CDATA[adaboost算法原理实现及理解]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/80920259</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/80920259</guid><author>cuixing001</author><pubDate>Thu, 05 Jul 2018 00:07:01 +0800</pubDate><description><![CDATA[adaboost是机器学习中经典的分类算法，也是面试中常被问到典型算法。由于该算法原理的文章铺天盖地，在此博客不具体陈述，若有需要请点这里查看详细过程。本文侧重代码的精简和迭代过程的理解，数据来源以上博客，即对10个二维坐标数据点进行学习分类。clc,clear;close all;
%% 训练样本数据
x=[1 5;2 2;3 1;4 6;6 8;6 5;7 9;8 7;9 8;10 2]; %...]]></description><category></category></item><item><title><![CDATA[图像透视变换原理及实现]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/80261189</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/80261189</guid><author>cuixing001</author><pubDate>Wed, 09 May 2018 23:14:30 +0800</pubDate><description><![CDATA[先贴上代码和图function perspective_mat = getPerspective(moving_points,fixed_points)
% GETPERSPECTIVE 根据点获取透视变换矩阵
% 输入：
%     moving_points：n*2点集坐标(x,y)
%     fixed_points：n*2点集坐标(x,y),点顺序要对应moving_points
% 输...]]></description><category></category></item><item><title><![CDATA[图像的仿射变换原理和实现]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/80211136</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/80211136</guid><author>cuixing001</author><pubDate>Sun, 06 May 2018 01:03:20 +0800</pubDate><description><![CDATA[     仿射变换能够保持图像的“平直性”，包括旋转，缩放，平移，错切操作。一般而言，仿射变换矩阵为2*3的矩阵，第三列的元素起着平移的作用，前面两列的数字对角线上是缩放,其余为旋转或者错切的作用。    设仿射变换矩阵T = [a11,a12,a13 ; a21,a22,a23]; 图像上fixed points坐标为(xk,yk)；moving points坐标为(Xk,Yk)，其中k=1,2...]]></description><category></category></item><item><title><![CDATA[人脸属性标注工具]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/79652468</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/79652468</guid><author>cuixing001</author><pubDate>Thu, 22 Mar 2018 14:52:41 +0800</pubDate><description><![CDATA[     为了以后做多任务多标签对人脸属性进行分析，发现目前还没有已经实现好的工具或者我还没找到^_^o(╥﹏╥)o，如果哪位朋友知道望告知。故自己动手制作了个符合自己定义的属性，先给出标注界面图。一、QT开发下面界面开发用的是QT，C/C++开发工具，优点：跨平台轻巧。共设计有18种属性，每个QButtonGroup集成3--5个QRadioButton里面，一个QButtonGroup中有且仅...]]></description><category></category></item><item><title><![CDATA[腾讯ncnn-20180129版本在windows+VS2013上调试运行]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/79279971</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/79279971</guid><author>cuixing001</author><pubDate>Thu, 08 Feb 2018 09:27:09 +0800</pubDate><description><![CDATA[由于原来配置过2017年10月份的ncnn，现在项目需要重新在VS2013上配置目前最新的版本。各种功能不再阐述，可以参考官网介绍，这里直接切入正题，ncnn-20180129版本官网下载地址：https://github.com/Tencent/ncnn/releases1、下载好后，在VS新建一个工程，把“src”整个目录拷贝到工程根目录下。然后全部把“src”的源文件全部包含进来，另外由于是...]]></description><category></category></item><item><title><![CDATA[sphereFace人脸识别之caffe配置训练]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/79207109</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/79207109</guid><author>cuixing001</author><pubDate>Tue, 30 Jan 2018 16:16:32 +0800</pubDate><description><![CDATA[本教程是在windows微软版caffe环境配置好基础上添加sphereFace的新层MarginInnerProduct的示例，其他新层也可参考这样做。作者开放的整个人脸识别源码在https://github.com/wy1iu/sphereface。另外caffe的微软版本地址为：https://github.com/Microsoft/caffe。图1所示的是作者提供训练的网络结构文件pro]]></description><category></category></item><item><title><![CDATA[OpenCV保存的xml矩阵转换为MATLAB矩阵]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/79073242</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/79073242</guid><author>cuixing001</author><pubDate>Tue, 16 Jan 2018 12:01:17 +0800</pubDate><description><![CDATA[OpenCV矩阵类型Mat属于core模块，故需要opencv_core249.dll动态库。先写好需要编译的cpp文件，命名getMat.cpp,如下内容：
#include "opencv2/opencv.hpp"
#include
#include "mex.h"

void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mx]]></description><category></category></item><item><title><![CDATA[微信跳一跳 -Matlab也能玩~]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/79047966</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/79047966</guid><author>cuixing001</author><pubDate>Fri, 12 Jan 2018 20:41:06 +0800</pubDate><description><![CDATA[想必大家多多少少都会玩微信跳一跳，鉴于别的语言实现自动玩游戏，出于好奇，Matlab当然能做的更好！集标注-->训练-->测试-->最终自动（或手动）于一身，而且也不需要那么多代码+手机需要root等麻烦！为了每跳一步获得稳定的截图画面，我设置停顿了3秒，程序识别速度还是很快的（如果不考虑屏幕稳定，除去停顿3秒没来得及更新就有结果了），基本上不用for循环，尽量用matlab自带的函数及功能。
]]></description><category></category></item><item><title><![CDATA[matlab+ardunio+舵机实时监控]]></title><link>https://blog.youkuaiyun.com/cuixing001/article/details/78991761</link><guid>https://blog.youkuaiyun.com/cuixing001/article/details/78991761</guid><author>cuixing001</author><pubDate>Sat, 06 Jan 2018 21:35:44 +0800</pubDate><description><![CDATA[以下内容不会涉及任何第三方程序，即都为MATLAB自带，本实验是在MATLAB2017a环境下完成，ardunio接口只需点这里下载找到对应的硬件安装即可。

一、实时图像
先上实时监控图，如下。



图1 实时在线获取舵机转动角度曲线
                 

图2 实物连线图
二、代码
代码非常之简单，以下函数大部分要用到R2014b版本的新函数，如时间，]]></description><category></category></item></channel></rss>