(1)氣泡排序的實現:
①氣泡排序實現容器內元素的全排列:
vectorbubble_sort(vectorvec)
} }return vec;
}
②氣泡排序實現陣列內元素的全排列:
void bubble_sort(int a, int n)
}}
③ 氣泡排序提取容器內排序第index的元素值:
應用在中值濾波的實現中時,採用全排列後讀取排序後元素的第index個元素值的方式時,會進行一些不必要的計算,此時在氣泡排序過程中,已排序到index值之後的運算都是不必要的。
因此封裝了乙個通過氣泡排序返回容器中排序第index的元素值的函式。
int bubble_index(vectorv,int index)
} }return v[index-1];
}
(2)中值濾波的實現:
//中值濾波的實現
void medianimage(const mat& image, mat& imagemedian, int sizer, int sizec)
}//2.找出灰度值的中值(索引為index)並賦給當前畫素
//實現1:呼叫全排列函式
//vectorgraysorted=bubble_sort(gray);
- sizer / 2, j - sizec / 2) = graysorted[index];
//實現2:呼叫返回第index元素值函式
imagemedian.at(i - sizer / 2, j - sizec / 2) = bubble_index(gray, index);
} }}
速度較之前封裝的版本有一定的提高,但依然比較慢,其他優化方法正在思考,如果有有效的優化方法會進行更新。 openCV2 角點檢測
文章目錄 一 harris角點檢測基本理論 二 opencv 實現 三 改進的harris角點檢測 四 fast角點檢測 五 參考文獻 六 附錄 資料和原始碼 一 harris角點檢測基本理論 要講清楚東西太多,附錄提供文件詳細說明 1.1 簡略表達 角點 最直觀的印象就是在水平 豎直兩個方向上變化...
opencv2中尋找輪廓
最近想嘗試用opencv做專案,發現需要考慮的細節很多,用商業庫用習慣了,有點不適應,慢慢來吧。上網查了查用opencv做連通域運算,發現都是先尋找輪廓,那就先來學習下輪廓。opencv中尋找輪廓的c 函式是 void findcontours inputoutputarray image outp...
OPENCV 2 資料結構
opencv的資料結構定義於types c.h中,下面對其一一介紹 a.cvrect 矩形類 typedef struct cvrect cvrect x和y表示矩形的起始座標,而width和height則表示矩形的寬和高 其建構函式為 cv inline cvrect cvrect int x,i...