opencv學習筆記(四)識別線段與圓形

2021-08-09 13:57:25 字數 1367 閱讀 6452

//先進行邊緣檢測

cv::canny(src, temp, 50, 200, 3);

//轉化檢測後的圖為3通道

cv::cvtcolor(temp, dst, cv::color_gray2bgr);

std::vector

lines;//用於存放得到的線段向量集合

//進行霍夫線變換

cv::houghlinesp(temp, //輸入影象,為單通道二進位制影象

lines, //檢測到的線段向量

1, //以畫素為單位的距離精度

cv_pi / 180, //以弧度為單位的角度精度

80, //累加平面的闕值引數

50, //最低線段的長度

10);//允許將同一行點與點之間連線起來的最大距離

//依次繪製出每條線段

for (size_t i = 0; i < lines.size(); i++)

cv::imshow("原圖", src);

cv::imshow("houghlinesp 效果圖", dst);

cv::waitkey(0);

``#houghcirlces霍夫圓變換

//轉化為灰度影象並進行影象平滑

cv::cvtcolor(src, temp, cv::color_bgr2gray);

cv::gaussianblur(temp, temp, cv::size(9, 9), 2, 2);

std::vector

circles;//用於存放得到的圓的向量集合

//進行霍夫圓變換

cv::houghcircles(temp, //輸入影象,為單通道二進位制影象

circles, //檢測到的圓的輸出向量

cv_hough_gradient, //檢測方法

1.5, //用於檢測圓心的累加器影象的解析度於輸入影象之比的倒數

10, //兩個圓心之間的最小距離

200, //傳遞給canny邊緣運算元的高闕值

100);//檢測圓心的累加器闕值,越大就越接近完美的圓形

//依次繪製出圓

for (size_t i = 0; i < circles.size(); i++)

cv::imshow("houghcircles 效果圖", src);

OpenCV 學習筆記(四)

今天學習了直方圖均衡化 histogram equalization 的方法,用於增強影象的對比度,就是把灰度直方圖中在某個比較集中的灰度區間上的畫素點更加均衡地重新分配到全部灰度區間上的方法。實質上就是建立乙個對映,乙個單調的畫素亮度變換q t p 將輸入直方圖h p 轉換為輸出直方圖g q 具體...

OpenCV學習筆記 四

離散傅利葉變換原理 把一張分解成正弦和余弦兩個部分,空間域轉換到頻域 傅利葉變換的理論就是任意函式都可以表示成無數個正弦和余弦函式的和的部分。空間域是實數,頻域分解後是複數,因此變換後有實數影象,虛數影象 幅度影象,虛數影象 逆傅利葉變化的時候必須需要幅度影象和虛數影象 在頻域中,高頻代表影象細節,...

opencv學習(四)輪廓識別

本章學習輪廓識別 bbb.cpp 定義控制台應用程式的入口點。include stdafx.h include using namespace std using namespace cv int tmain size refs size int captrefrnc.get cv cap prop...