原创 正態分佈轉換至標準正態分佈的意義

       在講這個問題之前,首先拋出一個問題:如何求函數的定積分?通常我們首先找到該函數的原函數,將定積分的上下限分別代入原函數中計算這兩個值的差值作爲定積分的值。但是對於複雜函數的定積分,我們很難一眼就能發現該函數所對應的原函數,那

原创 opencv圖像顯示imshow()源碼分析

無論什麼圖片格式,opencv最終都是以位圖形式進行圖片顯示,即以bmp圖像格式進行圖像顯示,bmp圖像由四部分組成:位圖文件頭、文圖信息頭、顏色表、位圖數據。顯示中的一個重要步驟就是將加載進來的Mat圖像轉換成bmp格式。下面就源碼展開

原创 正太分佈轉換至標準正態分佈的意義

       在講這個問題之前,首先拋出一個問題:如何求函數的定積分?通常我們首先找到該函數的原函數,將定積分的上下限分別代入原函數中計算這兩個值的差值作爲定積分的值。但是對於複雜函數的定積分,我們很難一眼就能發現該函數所對應的原函數,那

原创 直方圖計算calcHist函數說明

函數原型:void calcHist(const Mat* images, int nimages, const int* channels, InputArray mask, OutputArray hist, int dims, co

原创 Harris角點檢測原理詳解

關於角點的應用在圖像處理上比較廣泛,如圖像匹配(FPM特徵點匹配)、相機標定等。網上也有很多博客對Harris角點檢測原理進行描述,但基本上只是描述了算法流程,而其中相關細節並未作出解釋,這裏我想對有些地方做出補充說明,正所謂知其然知其所

原创 支持向量機(Support Vector Machine)

關於支持向量機,這裏只解釋一些概念以及關於超平面參數是如何計算的,本篇不對參數優化推導過程進行詳解,這塊比較複雜,個人也需要時間捋一捋,日後再做整理。 首先,SVM的分類器爲:,其中令爲0時,即爲該分類器的超平面,在二維中即是一條直線,如

原创 Hessian矩陣以及在圖像中的應用

Hessian Matrix,它有着廣泛的應用,如在牛頓方法、求極值以及邊緣檢測、消除邊緣響應等方面的應用。一個Hessian Matrix涉及到很多數學相關的知識點,比如泰勒公式、極值判斷、矩陣特徵值及特徵向量、二次型等。本篇文章,主要

原创 友元函數

1.友元函數的簡單介紹 1.1爲什麼要使用友元函數 在實現類之間數據共享時,減少系統開銷,提高效率。如果類A中的函數要訪問類B中的成員(例如:智能指針類的實現),那麼類A中該函數要是類B的友元函數。具體來說:爲了 使其他類的成員函

原创 亞像素級點定位及邊緣定位算法

在這篇博客裏,主要講解兩點:點定位(Point localization)以及邊緣定位(Edge localization),均是亞像素級定位精度。當然還有其他定位方法,這裏僅針對亮點和邊緣兩種情形分別進行精確定位。 1. 爲何需要進行

原创 純虛函數與虛函數

1. 虛函數和純虛函數可以定義在同一個類(class)中,含有純虛函數的類被稱爲抽象類(abstract class),而只含有虛函數的類(class)不能被稱爲抽象類(abstract class)。    2. 虛函數可以被直接

原创 亞像素級角點定位算法

上篇文章,已對點和邊緣兩種情形的亞像素定位算法做了詳細描述。因圖像特徵不同,亞像素定位算法也會不同,我們可以根據圖像的具體特徵,進行數學建模以達到定位目的。這裏另起一篇說明角點情形的亞像素定位問題。 1. 角點幾何特徵 角點位置特徵:

原创 拷貝函數參數一定要用引用

在C++中, 構造函數,拷貝構造函數,析構函數和賦值函數(賦值運算符重載)是最基本不過的需要掌握的知識。 但是如果我問你“拷貝構造函數的參數爲什麼必須使用引用類型?”這個問題, 你會怎麼回答? 或許你會回答爲了減少一次內存拷貝? 很慚愧

原创 項目工程配置

Visual C++ 使用解決方案來管理項目,項目之間還可能有依賴關係,設置適合自己的解決方案目錄結構,便於代碼的管理、程序的發佈。 下面開始一個虛擬解決方案設計:        假設此解決方案有應用程序