一 學習內容
1. 霍夫變換--直線檢測
1.1 在canny邊緣檢測基礎上,進行霍夫變換直線檢測
二 **除錯
#include #include #include using namespace cv;
using namespace std;
int main()
namedwindow("figure1",cv_window_autosize);
imshow("figure1", src);
//學習新內容:在邊緣檢測基礎上,進行霍夫變換直線檢測(思考:能否檢測其他的線型?)
//1. 高斯模糊+灰度轉化
gaussianblur(src,dst_blur,size(3,3),0,0);
cvtcolor(dst_blur,dst_gray,cv_bgr2gray);
namedwindow("figure2_gray", cv_window_autosize);
imshow("figure2_gray", dst_gray);
邊緣檢測
canny(dst_gray,dst_canny,100,200);
namedwindow("figure3_canny", cv_window_autosize);
imshow("figure3_canny", dst_canny);
//3. 霍夫變換
建立陣列,用於存放檢測結果
vectorplines;//前面需要新增語句using namespace std;
呼叫函式
houghlinesp(dst_canny, plines,1,cv_pi /180.0,10,5,20);//需要除錯最後乙個引數,使得檢測出的直線連續、不間斷。
scalar color = scalar(0,0,200);
for (size_t i = 0; i < plines.size(); i++)
namedwindow("figure4line", cv_window_autosize);
imshow("figure4line", src);
waitkey(0);
return 0;
}
三 除錯結果
學習opencv記錄 三)
include include highgui.h include cv.h 這種訪問操作比cvget系列函式更快,因為不需要入棧出棧,只是通過指標偏移來進行的 int main int argc,char argv cvmat mat cvinitmatheader mat,3,6,cv 32fc...
OpenCV學習記錄5
一 學習內容 1 兩張影象按權重相加 2 兩張影象相乘 應該可用於頻域濾波吧 二 include include using namespace std using namespace cv int main int argc,char ar if src2.data namedwindow fig...
OpenCV學習記錄6
一 學習內容 1 獲取影象座標處的畫素值,並修改圖對比度 二 include include using namespace std using namespace cv int main int argc,char ar char figure name figure1 namedwindow f...