<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[findgeneralgirl的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/findgeneralgirl</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; findgeneralgirl]]></copyright><item><title><![CDATA[opencv-normalize-源码分析]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/109747676</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/109747676</guid><author>findgeneralgirl</author><pubDate>Wed, 18 Nov 2020 11:12:11 +0800</pubDate><description><![CDATA[normalize-源码分析前言参数的影响源码分析
前言
normalize函数，在网上已有不少文章做了其原理的介绍及用法展示，在查找资料的过程中，针对网络所缺少的部分（参数的使用逻辑及源码解析）进行详解，也记录我学习源码的过程便于以后查阅。
参数的影响
原理就不做详细介绍了，该文章做了详细介绍，这里只分析两个参数对归一化结果的影响：




参数
影响




src
图像输入、矩阵输入


dst
矩阵输出，支持各种depth和1、3通道


alpha
归一化公式为src[i]/scale,其中sca]]></description><category></category></item><item><title><![CDATA[opencv-Mat-深度探究]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/108104396</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/108104396</guid><author>findgeneralgirl</author><pubDate>Thu, 20 Aug 2020 18:23:40 +0800</pubDate><description><![CDATA[Mat–深度解析
Mat作为图像处理操作的基础对象，不掀开它的神秘面纱，实在无法愉快的看源码，所以在此做一个学习总结~
先贴出opencv的官方文档地址，这里比较详细、概括性的介绍了opencv相关的结构和知识，其中包括了Mat结构，对于初学者，我感觉很值得一看~
想了解一个对象，就要拿出面试官八卦你的精神：

你叫什么？-----------------（Mat)
你是干什么的？-----------（Mat的功用）
你有什么优势？-----------（Mat比Iplimage改进的地方）
你能接手哪些]]></description><category></category></item><item><title><![CDATA[opencv-Mat成员变量-step]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/107977814</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/107977814</guid><author>findgeneralgirl</author><pubDate>Thu, 13 Aug 2020 14:49:13 +0800</pubDate><description><![CDATA[初探step

   在一篇博文中对type、depth、step这三个成员变量有比较清晰的解释，阅读后对step这个成员仍然存在一些疑惑，因此将自己观察到的信息记录下来，方便后续回忆。


	疑惑1：step的用法？
	
第一次看到step，第一反应会是，是什么？怎么用？所以先介绍step这个变量怎么来用。


Mat  last_img= imread("D:\\pic-test\\img1.png", 1);
cout &lt;&lt; last_img.step[0] &lt;&lt; " ...]]></description><category></category></item><item><title><![CDATA[opencv源码解析--calcSharrDeriv/copyMakeBorder]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/107951445</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/107951445</guid><author>findgeneralgirl</author><pubDate>Wed, 12 Aug 2020 16:09:10 +0800</pubDate><description><![CDATA[calcSharrDeriv(求微分)、copyMakeBorder(边缘扩展)--opencv源码解析

1. 函数体解析

    a. static void calcSharrDeriv(const cv::Mat&amp; src, cv::Mat&amp; dst)

函数作用
			对输入图像求微分，并将微分结果存储到dst中，微分模板可见原理
		src
			待处理图像，src的depth必须为CV_8U,通道不做要求
		
			dst
			
			存放微分结果，类型同src，...]]></description><category></category></item><item><title><![CDATA[opencv--LK光流算法--源码解析]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/107919541</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/107919541</guid><author>findgeneralgirl</author><pubDate>Tue, 11 Aug 2020 16:04:18 +0800</pubDate><description><![CDATA[opencv--LK光流算法--源码解析

LK光流算法由Jean - Yves Bouguet提出，该算法是基于亮度恒定、时间连续、空间具有一致性的前提下，提出的一种基于特征点的追踪算法。该算法是将求两帧间特征点的最小误差值应用到图像上进而转换为求图像微分、差分的一种迭代算法。

光流算法用例

    Mat old_frame, old_gray;
    vector&lt;Point2f&gt; p0, p1;

    // Take first frame and find corners i]]></description><category></category></item><item><title><![CDATA[MFC  List Control 控件--多列设置、数据插入、整行删除、对整行数据插入操作、对整行数据删除操作]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/88399501</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/88399501</guid><author>findgeneralgirl</author><pubDate>Sun, 17 Mar 2019 22:53:56 +0800</pubDate><description><![CDATA[tips:使用list Control控件的目的是：让数据进行多列展示。这里有一个需要注意：不能使用list Box，List Box 的多列展示，是指数据在一列展示不完的前提下，折叠到第二列进行展示。

1.多列设置

设置多个列头，类似平时我们word中所用列表的列头。


void knowledgeBaseDlg::AddCols(UINT id)
{
	CRect rect;
	CWnd...]]></description><category></category></item><item><title><![CDATA[MFC使用中出现的一系列小问题及解决方法]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/87894618</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/87894618</guid><author>findgeneralgirl</author><pubDate>Sat, 23 Feb 2019 17:14:08 +0800</pubDate><description><![CDATA[1.添加Button按钮后，不能进入到该按钮下的事件响应函数中

解决方法：修改该Button ID在 resource.h 文件中对应的属性值。

原因：该按钮的属性值和别的按钮属性值重复。

2.MFC资源视图中各个资源作用解释

1.BITMAP
位图资源，包括导入的和自己创建的。有了它们程序就可以变得十分美观。
2.DIALOG
对话框资源，对于基于对话框的应用程序十分重要。里面有建立的各...]]></description><category></category></item><item><title><![CDATA[CString和string的相互转换]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/80980420</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/80980420</guid><author>findgeneralgirl</author><pubDate>Tue, 10 Jul 2018 09:20:49 +0800</pubDate><description><![CDATA[https://www.cnblogs.com/HappyEDay/p/7016162.html转载自happyEday,解释的非常清楚，故记录，以便后续查阅CString 转换成string我试了很多的方法，都不行，我用的vs2010------解决方案--------------------unicode:CString sz1 = L&quot;abc&quot;;std::string sz2 = CT2A(...]]></description><category></category></item><item><title><![CDATA[KMP模式匹配算法]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/80007200</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/80007200</guid><author>findgeneralgirl</author><pubDate>Thu, 19 Apr 2018 17:35:31 +0800</pubDate><description><![CDATA[在准备一些实习笔试时，发现编程题的重点都落在了字符串上，题目各异，但却着重考察了对字符串的掌握程度。故专门复习了字符串匹配算法。在字符串的匹配算法中，最好理解的就是朴素匹配算法，即通过字符串1和字符串2点对点式的暴力匹配，得到匹配结果。还有一种是KMP模式匹配算法，它分析了朴素匹配算法中不必要的匹配情况，更好的为匹配节省了时间。1.朴素匹配算法其匹配过程如下图所示，非常清晰明了。从src的第一个字...]]></description><category></category></item><item><title><![CDATA[在MFC上搭建OSG模型]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/79958377</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/79958377</guid><author>findgeneralgirl</author><pubDate>Mon, 16 Apr 2018 11:34:35 +0800</pubDate><description><![CDATA[根据我的搭建经验，总结出一点非常有用的经验：1.借鉴osg库自身携带的example例子中MFC的搭建例子。然后对该框架进行一个个人的总结，希望有问题大家可以指出。如图1，在创建好MFC单文档框架的前提下，新建一个.h文件并且在该.h文件中新建一个类，该类代表OSG类，在osg类中，我们要实现场景的初始化功能以及渲染功能。具体的表现形式如下。#pragma once

#include &amp;lt;o...]]></description><category></category></item><item><title><![CDATA[OSG 《最长的一帧》 学习笔记-frame(一）]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/79891762</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/79891762</guid><author>findgeneralgirl</author><pubDate>Thu, 12 Apr 2018 22:09:56 +0800</pubDate><description><![CDATA[frame()作为渲染函数，只有简单的一句，但是它的内部到底是怎样的呢，我会跟着《最长的一帧》一起慢慢学习。///////////////////////////////////////为frame()源码，后面会深入解析每一个变量，每一个函数的源码//////////////////////////void ViewerBase::frame()//frame的内部实现{     if(_don...]]></description><category></category></item><item><title><![CDATA[osg3.0--节点（Geode)]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/79899689</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/79899689</guid><author>findgeneralgirl</author><pubDate>Wed, 11 Apr 2018 20:43:01 +0800</pubDate><description><![CDATA[osg中有三大节点：Node,Goup,GeodeGeode作为叶节点，用于保存几何信息以便渲染。Geode节点下的Billboard类，为布告板技术，共有三种模式，视点模式，世界模式和轴模式。当设置为视点模式时，视点发生改变，物体的坐标位置也发生变化，保证物体一直面向视点。当设置为绕轴旋转时，物体围绕轴进行旋转，设置为绕世界旋转时，会绕x,y,z轴旋转。//创建Billboard对象
	osg:...]]></description><category></category></item><item><title><![CDATA[c++ 顺序容器---vector]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/79819126</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/79819126</guid><author>findgeneralgirl</author><pubDate>Thu, 05 Apr 2018 12:35:14 +0800</pubDate><description><![CDATA[对顺序容器这四个字一直不太理解，《c++primer》中对其作出解释为：为程序员提供了控制元素存储和访问顺序的能力。换种方式理解：不管是在这类容器中存储元素，访问元素还是删除元素，它都其自身的数据结构特点确定了一定的访问顺序，是一种有序的访问，并非无序的访问。如图1，顺序容器如下：////////////////////////////////////////////////////////---...]]></description><category></category></item><item><title><![CDATA[win10 家庭版安装sql2000 pre]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/79700144</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/79700144</guid><author>findgeneralgirl</author><pubDate>Mon, 26 Mar 2018 17:03:41 +0800</pubDate><description><![CDATA[ 

点击sql的setup程序，电脑自动弹出“你的电脑无法安装此程序”之类的。

搜了很多的解决办法，总算安装完毕，总结下来，防止下次走弯路。

 

 

总体思路：

1.将SQL安装包下X86/system/SQLUNIRL.DLL这一文件替换到C:\Windows\SysWOW64下。

（注意：我放到该文件夹下后，依然弹出不能安装的警告，考虑到我的安装文件是32位以及win10兼容性的...]]></description><category></category></item><item><title><![CDATA[红黑树的实现]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/79332556</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/79332556</guid><author>findgeneralgirl</author><pubDate>Sat, 17 Feb 2018 18:27:46 +0800</pubDate><description><![CDATA[红黑树是在平衡二叉树的基础上实现的，本文详细描述一下红黑树的实现过程。红黑树的创建有两个基本规则：根节点为黑色，新的插入节点为红色。该规则的优先级最高。数据结构为：左孩子域，右孩子域，颜色域，数据域，双亲域。typedef int ElemType;
typedef enum{RED=0,BALCK=1} Color;
typedef struct RBTree
{
   RBTree *lefr...]]></description><category></category></item><item><title><![CDATA[线索化二叉树]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/79253660</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/79253660</guid><author>findgeneralgirl</author><pubDate>Sun, 04 Feb 2018 17:44:59 +0800</pubDate><description><![CDATA[在二叉树中，有很多节点的指针域为空域，造成结点的浪费。针对这种现象，提出线索化二叉树这一概念，其基本思想是遵从中序遍历二叉树，将二叉树的空节点有效的利用起来。具体来说，是按照以下的步骤来实现的。
本文是利用中序遍历的思想对二叉树进行一个线索化：已知一颗二叉树如图所示：


如图1，是一颗普通的二叉树，一个节点有左右孩子和数据域。现在我们知道这个二叉树的中序遍历结果，如图2所示，然后按照中序]]></description><category></category></item><item><title><![CDATA[SQL Server 不存在或访问被拒绝 --以及解决方法]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/78571138</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/78571138</guid><author>findgeneralgirl</author><pubDate>Sat, 18 Nov 2017 20:48:34 +0800</pubDate><description><![CDATA[在使用sql server连接程序和数据库时，发生了这种错误“SQL Server 不存在或访问被拒绝 ”，根据网络上的信息，整理出下面的解决方法============= 首先,检查网络物理连接 =============ping  服务器IP地址/服务器名称使用举例：ping  LG-PC01    、   ping  www.baidu.com（在cmd命令中）假如ping 不成功,说明物理连]]></description><category></category></item><item><title><![CDATA[#关于VS2013中遇到的问题总结]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/78527497</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/78527497</guid><author>findgeneralgirl</author><pubDate>Tue, 14 Nov 2017 10:07:24 +0800</pubDate><description><![CDATA[错误1
错误1error MSB8031: Building an MFC project for a non-Unicode character set is deprecated. You must change the project property to Unicode or download an additional library. See http://go.microsoft.c]]></description><category></category></item><item><title><![CDATA[数组名和指针的区别]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/78501734</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/78501734</guid><author>findgeneralgirl</author><pubDate>Fri, 10 Nov 2017 17:16:54 +0800</pubDate><description><![CDATA[数组名和指针之间，经常会交替使用这两个变量，比如，把一个指针当成数组来使用，或者是把数组名赋值给指针，通过指针来访问数组成员变量，但是，数组名和指针之间到底有什么样的联系与区别，以及什么情况下该使用指针，什么情况下该使用数组名，我对这个做一个小小的解读。。 
 
上图中，定义一个数组，数组名为arr，分别打印arr本身的地址，arr首元素的地址，以及arr本身，以整型形式输出，发现，这三者的值是相同]]></description><category></category></item><item><title><![CDATA[函数/代码安全、malloc的低层实现]]></title><link>https://blog.youkuaiyun.com/findgeneralgirl/article/details/78419829</link><guid>https://blog.youkuaiyun.com/findgeneralgirl/article/details/78419829</guid><author>findgeneralgirl</author><pubDate>Wed, 01 Nov 2017 22:52:36 +0800</pubDate><description><![CDATA[一般说到代码安全时，一般会涉及这几个方面： 
一、函数中的指针操作出现下面几种情况： 
1.指针访问无效的内存 
2指针所指资源没释放，导致内存空间越占越大。 
3.指针已释放资源，又去访问。 
二、函数在结束的时候，返回局部变量的地址或引用。 
三、代码的线程安全。
如何知道代码或函数是线程安全的？
在函数运行的过程中，可能同一个会导致两个或两个以上的线程来访问变量，那么，如果在时间上出现你先取，]]></description><category></category></item></channel></rss>