<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[u010607947的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u010607947</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u010607947]]></copyright><item><title><![CDATA[OpenGL实际案例Breakout（六）：碰撞检测]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/70707563</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/70707563</guid><author>u010607947</author><pubDate>Sun, 08 Aug 2021 16:44:32 +0800</pubDate><description><![CDATA[英文原文

当尝试检测碰撞是否在两个对象之间发生的时候，我们通常不使用对象自己的数据除非这个对象很复杂；这反过来让碰撞检测变得复杂。出于这个原因，我们通常练习的时候更多的使用简单的形状（常常有很好的数学上的定义）覆盖在原始对象上方来碰撞检测。然后我们基于这些简单的形状来让我们的代码更简单并且省下很多性能。这样的一些例子是圆形，球星，三角形和方形；这些用起来比有上百个三角形的网格简单。
当他]]></description><category></category></item><item><title><![CDATA[机器学习Tensorflow笔记4：iOS通过Core ML使用Tensorflow训练模型(测试过）]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/86611875</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/86611875</guid><author>u010607947</author><pubDate>Wed, 23 Jan 2019 15:51:50 +0800</pubDate><description><![CDATA[https://www.jianshu.com/p/d0bc57804198?utm_source=oschina-app

Tensorflow是Google推出的人工智能框架，而Core ML是苹果推出的人工智能框架，两者是有很大的区别，其中Tensorflow是包含了训练模型和评估模型，Core ML只支持在设备上评估模型，不能训练模型。
通常而言我们通过Tensorflow训练模型，导出我...]]></description><category></category></item><item><title><![CDATA[机器学习Tensorflow笔记3：Python训练MNIST模型，在Android上实现评估]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/86611820</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/86611820</guid><author>u010607947</author><pubDate>Wed, 23 Jan 2019 15:50:38 +0800</pubDate><description><![CDATA[https://www.jianshu.com/p/93f6a642bab6

通常而言我们会通过Python编写代码训练Tensorflow，但是我们训练的数据需要实际应用起来，本文会介绍如何通过Python训练Tensorflow，训练的结果在Android上应用，当前也可以通过传输数据给服务端去识别，然后返回数据，但是这种方式实时性较差，需要上传识别数据，然后等待返回数据，在某些场景下也是适...]]></description><category></category></item><item><title><![CDATA[TensorFlow 模型的保存与恢复(亲测）]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/86594011</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/86594011</guid><author>u010607947</author><pubDate>Tue, 22 Jan 2019 14:23:50 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/ling913/article/details/80185535

 

TensorFlow目前保存的模型文件主要有两种，ckpt与pb，二者之间的异同请见

https://zhuanlan.zhihu.com/p/32887066

下面，我以mnist手写数据集用softmax回归为例，说明如何对训练好的模型进行保存与恢复。

1. 训练模型并保...]]></description><category></category></item><item><title><![CDATA[计算机图形学（八）几何图形变换讲解与源代码]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/81701263</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/81701263</guid><author>u010607947</author><pubDate>Wed, 15 Aug 2018 11:30:04 +0800</pubDate><description><![CDATA[源码下载：点我下载

几何图形变换这部分内容很简单。

其中主要我这里主要包括2种图形的变换。

1.直线

2.多边形

实现的变换类型是4种

1.平移

平移是指对一个图形移到另外一个位置即：

通过将位移量加到一个点的坐标上来生成一个新的点。

P'=P+T



2.旋转

通过指定一个旋转轴或者一个旋转角度，可以进行一次旋转变换。



P'=R*P

3.缩放

改变一个图像的大小可...]]></description><category></category></item><item><title><![CDATA[计算机图形学（七）Bezier（贝塞尔）曲线讲解与源代码]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/81701251</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/81701251</guid><author>u010607947</author><pubDate>Wed, 15 Aug 2018 11:29:32 +0800</pubDate><description><![CDATA[源码下载：点我下载

“贝赛尔曲线”是由法国数学家Pierre Bézier所发明，由此为计算机矢量图形学奠定了基础。它的主要意义在于无论是直线或曲线都能在数学上予以描述。

算法的基本原理：

 

贝塞尔曲线贝塞尔曲线是计算机图形图像造型的基本工具，是图形造型运用得最多的基本线条之一。它通过控制曲线上的四个点（起始点、终止点以及两个相互分离的中间点）来创造、编辑图形。其中起重要作用的是位于曲线...]]></description><category></category></item><item><title><![CDATA[计算机图形学（六）多边形裁剪Sutherland-Hodgeman算法讲解与源代码]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/81701227</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/81701227</guid><author>u010607947</author><pubDate>Wed, 15 Aug 2018 11:28:46 +0800</pubDate><description><![CDATA[因为最近优快云上传资源出现问题，无法上传，等可以上传之后再给出下载地址。

源码下载：点我下载

首先讲一下算法的原理：

Sutherland-Hodgeman算法：
基本思想是一次用窗口的一条边裁剪多边形。
考虑窗口的一条边以及延长线构成的裁剪线，该线把平面分成两个部分：可见一侧；不可见一侧。
多边形的各条边的两端点S、P。它们与裁剪线的位置关系只有四种，

如图：



S、P与裁剪线的位...]]></description><category></category></item><item><title><![CDATA[计算机图形学（五）线段的中点分割裁剪算法讲解与源代码]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/81701207</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/81701207</guid><author>u010607947</author><pubDate>Wed, 15 Aug 2018 11:28:04 +0800</pubDate><description><![CDATA[因为优快云现在上传不上去资源，所以使用了百度云。

源码下载：点我下载

基本思想：

对于每条线段P1P2分为三种情况处理：
 (1) 若P1P2完全在窗口内，则显示该线段P1P2简称“取”之。
 (2) 若P1P2明显在窗口外，则丢弃该线段，简称“弃”之。
 (3) 若线段不满足“取”或“弃”
的条件，则在交点处把线段分为两段。其中一段完全在窗口外，可弃之。然后对另一段重复上述处理。
为快速...]]></description><category></category></item><item><title><![CDATA[计算机图形学（四）多边形的种子填充算法讲解与源代码]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/81701184</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/81701184</guid><author>u010607947</author><pubDate>Wed, 15 Aug 2018 11:27:23 +0800</pubDate><description><![CDATA[种子填充算法相比较扫描线填充算要容易的多了。理解起来也很简单。

源码下载：点我下载哦

简单的说一下算法的原理：

种子填充算法都是进行区域填充的，而且一般都是指定给某个区域填充某种颜色。然后给出区域的范围，让种子在区域中任选一点，然后按照“4-联通算法”和“8-联通算法”进行填充，而区域填充算法分为区域填充的递归算法和区域填充的扫描线算法。

种子填充算法：

首先填充种子点所在扫描线上的位于...]]></description><category></category></item><item><title><![CDATA[计算机图形学（三）扫描线多边形填充算法讲解与源代码]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/81701152</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/81701152</guid><author>u010607947</author><pubDate>Wed, 15 Aug 2018 11:25:47 +0800</pubDate><description><![CDATA[如果喜欢转载请标明出处：

并非菜鸟菜鸟的博客

源代码下载：点击打开链接

在这里先说下算法的实现过程

 

本人觉得这个算法实现起来还是有点难度的！很多人都不愿意去看太多描述性的文字，所以对这个算法的过程是什么大概也不知道，那么我在这里简要的说一些！

算法实现过程中应用两个数据结构：

1、边表（ET：Edge Table）

 

用来对除水平边外的所有边进行登记，来建立边的记录。边的记...]]></description><category></category></item><item><title><![CDATA[计算机图形学（二）中点画圆算法讲解与源代码]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/81701101</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/81701101</guid><author>u010607947</author><pubDate>Wed, 15 Aug 2018 11:24:50 +0800</pubDate><description><![CDATA[近些天写了一些关于计算机图形学的算法和源代码!

如果喜欢转载请标明出处：并非菜鸟的博客http://blog.youkuaiyun.com/syx1065001748

源代码：源代码在这里!

关于中点画圆，大家都知道是根据圆的8分对称性质，然后画出1/8圆之后再进行对称画点，就可以得到完整的圆了。首先给出圆的一般算法，是使用中点画圆的统法，在原点画圆！然后进行平移来得到!

下边是使用橡皮筋的方法实现的...]]></description><category></category></item><item><title><![CDATA[计算机图形学（一）DDA画线算法讲解与源代码]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/81701056</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/81701056</guid><author>u010607947</author><pubDate>Wed, 15 Aug 2018 11:22:17 +0800</pubDate><description><![CDATA[很早之前就想写一个计算机图形学系列的讲解，可是只写了2篇，然后就搁置了很长一段时间，现在也算是有时间来继续之前的想法了。

首先介绍一下算法：

源代码的下载：点击打开链接

已知直线过端点P0（x0,y0），P1（x1,y1）的直线段的斜率K=(y1-y0)/(x1-x0)，画线的过程为：从x的左端点x0开始，向x的右端点步进，步长=1（像素），按y=kx+b来计算y坐标，并取像素点（x，rou...]]></description><category></category></item><item><title><![CDATA[法线贴图]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/81027266</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/81027266</guid><author>u010607947</author><pubDate>Fri, 13 Jul 2018 10:28:56 +0800</pubDate><description><![CDATA[教程 26法线贴图原文： http://ogldev.atspace.co.uk/www/tutorial26/tutorial26.html优快云完整版专栏： http://blog.youkuaiyun.com/column/details/13062.html背景之前的我们的光线着色器类已经可以达到很不错的效果了，光线效果通过插值计算遍布到整个模型表面，使整个场景看上去比较真实，但这个效果还可以进行更...]]></description><category></category></item><item><title><![CDATA[OpenGL 各个shader的作用和区别]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/81012321</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/81012321</guid><author>u010607947</author><pubDate>Thu, 12 Jul 2018 11:01:15 +0800</pubDate><description><![CDATA[penGL4.0发布了Tessellation shader（Control + Evaluation shader）。到OpenGL4.* 为止，现在OpenGL已经支持了5种不同类型的shader。1.Vertex Shader，简称VS2.TESS  Control  Shader （D3D11 叫Hull shader），简称TCS3.TESS Evaluation Shader （D3D...]]></description><category></category></item><item><title><![CDATA[OpenGL学习脚印：几何着色器(geometry shader)]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/81011166</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/81011166</guid><author>u010607947</author><pubDate>Thu, 12 Jul 2018 10:12:24 +0800</pubDate><description><![CDATA[写在前面 一直以来我们使用了顶点着色器(vertex shader)和片元着色器(fragment shader)，实际上OpenGL还提供了一个可选的几何着色器(geometry shader)。几何着色器位于顶点和片元着色器之间，如果没有使用时，则顶点着色器输出到片元着色器，在使用几何着色器后，顶点着色器输出组成一个基础图元的顶点信息到几何着色器，经过几何着色器处理后，再输出到片元着色器。几何...]]></description><category></category></item><item><title><![CDATA[opengles中的Tessellation（曲面细分）]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/81010364</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/81010364</guid><author>u010607947</author><pubDate>Thu, 12 Jul 2018 09:35:40 +0800</pubDate><description><![CDATA[    从opengles3.2开始，支持了一项新的特性，Tessellation Shader，这是一个新的shader，发生在顶点处理阶段，曲面细分可以在显卡上动态生成新的顶点和面，这在支持gles3.2的设备上，可以用来表现模型的lod，我们不用传输大量的顶点数据给显卡，而使显卡能够根据一定规则自动生成细节层次更多的顶点。也有应用结合高度图生成细节更加复杂的模型，因为不用再cpu这边准备高面...]]></description><category></category></item><item><title><![CDATA[C/C++ 图像处理（9）------图像の桶形畸变矫正]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/80510939</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/80510939</guid><author>u010607947</author><pubDate>Wed, 30 May 2018 15:34:48 +0800</pubDate><description><![CDATA[  广角镜头的摄像设备拍摄出来的图像经常会有桶形畸变的问题。原因在于广角镜头使用的是凸透镜，初中物理知识告诉我们凸透镜会对光线起汇聚作用，这是光的折射造成的。而离镜头中心越远，折射效果越强，因而其拍出来的照片会以镜头中心为圆心，呈圆形向外扩展失真，如下图所示：    像上面这样的图像，如果用在一些还原性要求较高的场景是不行的，需要对图像做畸变矫正。而由于很多时候我们并不知道摄像头的物理参数和其他一...]]></description><category></category></item><item><title><![CDATA[【OpenCV】摄像机标定+畸变校正]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/80510907</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/80510907</guid><author>u010607947</author><pubDate>Wed, 30 May 2018 15:34:00 +0800</pubDate><description><![CDATA[摄像机标定本文目的在于记录如何使用MATLAB做摄像机标定,并通过opencv进行校正后的显示。首先关于校正的基本知识通过OpenCV官网的介绍即可简单了解： http://docs.opencv.org/2.4/doc/tutorials/calib3d/camera_calibration/camera_calibration.html对于摄像机我们所关心的主要参数为摄像机内参，以及几个畸变系...]]></description><category></category></item><item><title><![CDATA[ubuntu vim使用]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/78802205</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/78802205</guid><author>u010607947</author><pubDate>Thu, 14 Dec 2017 14:25:50 +0800</pubDate><description><![CDATA[保存命令


按ESC键 跳到命令模式，然后：


:w   保存文件但不退出vi
:w file 将修改另外保存到file中，不退出vi
:w!   强制保存，不推出vi
:wq  保存文件并退出vi
:wq! 强制保存文件，并退出vi
q:  不保存文件，退出vi
:q! 不保存文件，强制退出vi
:e! 放弃所有修改，从上次保存文件开始再编辑


https:]]></description><category></category></item><item><title><![CDATA[计算机视觉-相机内参数和外参数]]></title><link>https://blog.youkuaiyun.com/u010607947/article/details/78328634</link><guid>https://blog.youkuaiyun.com/u010607947/article/details/78328634</guid><author>u010607947</author><pubDate>Tue, 24 Oct 2017 13:37:48 +0800</pubDate><description><![CDATA[1、相机内参数是与相机自身特性相关的参数，比如相机的焦距、像素大小等；

相机外参数是在世界坐标系中的参数，比如相机的位置、旋转方向等。

相机标定（或摄像机标定）：
一句话就是世界坐标到像素坐标的映射，当然这个世界坐标是我们人为去定义的，标定就是已知标定控制点的世界坐标和像素坐标我们去解算这个映射关系，一旦这个关系解算出来了我们就可以由点的像素坐标去反推它的世界坐标，当然有了这个世界坐]]></description><category></category></item></channel></rss>