原创 Opencv學習——圖像濾波

本文主要涉及到五種濾波方法,包括三種線性濾波器和兩種非線性濾波器。 1. 線性濾波器 - 方框濾波 - 均值濾波 - 高斯濾波 2. 非線性濾波器 - 中值濾波 - 雙邊濾波器 線性濾波器 圖像濾波可以表示爲如下的

原创 數據結構算法——單鏈表及其操作

單鏈表是一種非常常用的數據結構,雖然很簡單,但是其相關操作還是很容易出錯。本文將介紹單鏈表的幾種操作,主要包括鏈表的反轉,鏈表的排序,求出鏈表倒數第 k 個值,刪除當前節點和找出鏈表的中間節點。 更多內容可參考如下鏈接: https:

原创 Opencv學習——圖像閾值化

圖像閾值化是最常用的圖像處理方法,在很多領域應用廣泛,機器視覺中產品的識別和定位中往往需要採用閾值處理使產品的特徵更加明顯,易於後續的處理。 一般閾值化可以分爲兩種: - 全局閾值化 - 局部閾值化 全局閾值化 全局閾值化顧名思義

原创 Opencv學習——Mat矩陣操作

Opencv2出現以後圖像的操作可以不用再用指針的形式啦,用Mat類矩陣能夠很方便的進行矩陣運算。Mat類包含兩部分:矩陣頭和指向矩陣像素值的指針。一般複製操作只是複製了矩陣頭和指向矩陣的指針,並不會複製矩陣本身的數據。一些基本操作如下:

原创 數據結構算法——雙向鏈表

雙向鏈表與單鏈表相比,各個節點多了一個指向前一個節點的指針,即一個節點有一個指向前驅的指針和指向後繼的指針。本文將主要介紹雙向鏈表的基本操作,包括正向遍歷鏈表,反向遍歷鏈表,查找鏈表中的元素,節點的插入,節點的刪除等操作。 雙向鏈表結構

原创 機器人與變位機協調軌跡仿真

複雜空間軌跡的焊接一般需要變位機的參與,加入變位機能夠儘量保證焊縫處於船型焊狀態,有利於焊縫成型。本文通過機器人與變位機的耦合關係,分析變位機與機器人的協調運動,並對空間相貫線進行仿真。 耦合關係 運動鏈的建立,如圖: RTB⋅B

原创 Kalman濾波器

卡爾曼(kalman)濾波器是一種線性濾波器,主要涉及到5個公式,包括預測部分(Predict)和更新部分(Update)。卡爾曼濾波器中加入了不確定性的估計和更新,使得其比較適合實際應用。由於項目需要對採集的時間序列數據進行處理,嘗試使

原创 Opencv學習——Opencv與Visual studio配置

本文介紹的是一次性配置,不再需要每次創建一個新工程都配置一遍了。本文內容主要摘錄自我早期的網易博客,差不都有兩年時間了,現在搬到csdn上,便於後續查看。本文還是採用opencv2.4.10+Visual studio2010+win64

原创 C++筆記(一)

數據初始化: (1)int num = 5; //直接賦值 (2)int num(5); //C++初始化方式 單值初始化也可以採用大括號: int emus{7}; int rheas = {12}; int ro

原创 Opencv學習——圖像分割之分水嶺算法

分水嶺算法是比較經典的圖像分割算法。最近看到一副區域檢測和統計的圖像,感覺可以通過分水嶺算法進行實現,於是順便對opencv的分水嶺算法進行學習。如圖需要分割的圖像: opencv有自帶的分水嶺分割示例,分割圖像爲硬幣圖像,如圖:

原创 Opencv學習——仿射變換和透視變換

仿射變換是一種二維座標之間的變換,變換前後保持圖形的平直性和平行性。仿射變換可以理解爲是向量經過一次線性變換和一次平移變換。 透視變換可以看做是二維與三維座標之間的變換,變換前後沒有了仿射變換的特性。其實仿射變換是透視變換的一種特殊形式