原创 opencv學習筆記28-輪廓周圍繪製矩形框和圓形框

只用來記錄學習筆記 Douglas-Peucker算法: 在曲線首尾兩點間虛連一條直線,求出其餘各點到該直線的距離,如右圖(1)。 選其最大者與閾值相比較,若大於閾值,則離該直線距離最大的點保留,否則將直線兩端點間各點全部捨

原创 opencv學習筆記12-閾值操作threshold

只用來記錄學習筆記 void Threshold_Demo(int, void*) { cvtColor(src, gray_src, CV_BGR2GRAY);//轉灰度圖像 threshold(gray_src,dst,thr

原创 opencv學習筆記4-線性混合

只用來記錄學習筆記 線性合併: double alpha = 0.5; if (src1.rows == src2.rows&&src1.cols == src2.cols&&src1.type() == src2.type()

原创 opencv學習筆記1-卷積計算filter2D、滑動塊函數createTrackbar

只用來記錄學習筆記 打開圖片: Mat src=imread("C:/Users/Administrator/Pictures/555.jpg"); if (!src.data) { printf("could not fin

原创 opencv學習筆記15-提取輪廓-Sobel算子

只用來記錄學習筆記 Sobel算子作用:提取邊緣像素 原理:做一階導數: Mat xgrad, ygrad; Sobel(gray_src, xgrad, CV_16S, 1, 0, 3); //gray_src:灰

原创 opencv學習筆記30-點多邊形測試-pointPolygonTest(計算每個點到輪廓的距離)

只用來記錄學習筆記 畫一個6變形: const int r = 100; Mat src = Mat::zeros(r * 4, r * 4, CV_8UC1); vector<Point2f> vert(6); v

原创 Java筆記-String、StringBuffer、StringBuilder

//所有筆記都來源網絡,都自己編碼成功過的 //如有錯誤歡迎指正,如有更優解歡迎討論 String:字符序列不可改變,只會新建一個對象 StringBuffer:字符序列可改變,線程安全 StringBuilder:字符序列可改變

原创 opencv學習筆記27-凸包convexHull

只用來記錄學習筆記 凸包:任意兩個點的連線都在多邊形內 Graham掃描算法: 如果新加入點後兩條線的逆時針角度小於180度了就捨棄舊的點,如:bc和cd的逆時針角度小於180度了,就捨棄掉c點。 代碼: cvtColor(

原创 opencv學習筆記21-直方圖均衡化equalizeHist

只用來記錄學習筆記 直方圖其實就是統計圖 直方圖均衡化: 代碼: cvtColor(src, gray_src, CV_BGR2GRAY);//轉灰度圖像 imshow("gray_src", gray_src); e

原创 opencv學習筆記16-提取輪廓-Laplance算子

只用來記錄學習筆記 Laplance算法: 計算二階導數: GaussianBlur(src, dst, Size(3, 3), 0, 0); //高斯模糊 cvtColor(dst, gray_src, CV_BGR2GR

原创 opencv學習筆記17-邊緣檢測-Canny算法

只用來記錄學習筆記 Canny算法 Canny算法步驟: 高斯模糊 - GaussianBlur 灰度轉換 - cvtColor 計算梯度 – Sobel/Scharr 非最大信號抑制 高低閾值輸出二值圖像 int t1_

原创 opencv學習筆記8-膨脹dilate和腐蝕erode

只用來記錄學習筆記 1.膨脹: 什麼是膨脹? 假設內核爲3*3,如下圖,每次取9個顏色塊中的最大值給中間塊 如果只有黑白兩種顏色,因爲白色的值大於黑色,所以部分黑色值的塊會被白色值取代,所以黑白圖像就會看到黑色越來越少,白色越來越

原创 opencv學習筆記22-直方圖計算calcHist

只用來記錄學習筆記 int histSize = 256; //0-255 float range[] = { 0,256 }; const float *histRanges = { range }; Mat b_his

原创 opencv學習筆記14-邊緣填充

只用來記錄學習筆記 先定義: int top = (int)(0.05*src.rows); int bottom = (int)(0.05*src.rows); int left = (int)(0.05*src.rows

原创 opencv學習筆記25-模板匹配matchTemplate

只用來記錄學習筆記 匹配算法: Mat src, temp,dst; int match_method = CV_TM_SQDIFF; int max_track = 5; const char* input_title = "