字塔識別,opencv最小外接矩形

2021-09-24 13:04:02 字數 2862 閱讀 1096

//#include "stdafx.h"

#include "pch.h"

#include #include #include #include #include #include #include #include #include #include using namespace cv;

using namespace std;

//函式drawing識別輪廓,然後繪製最小外接矩形

mat drawing(mat ima, mat gray)

}} }

return ima;

}int main(int argc, char** ar**)

*/ /*rng rng((unsigned)time(null)); //生成隨機數

mat canny_output;

vector> contours; //邊緣向量

vectorhierarchy; //形狀因子

canny(local, canny_output, 200, 500, 3); //邊緣檢測

imshow("canny", canny_output);

mat drawing = mat::zeros(canny_output.size(), cv_8uc3); //新建一樣大小的影象

for (int i = 0; i < contours.size();i++) //每個新的邊緣賦rbg隨機數

imshow("contours", drawing);*/

// mat result;

// canny(image, result, 50, 150, 3);

// //cv::imshow("localthreshold", local);

//imshow("jieguo", result);

//使用不同的二值化方法,再進行判斷

// 全域性二值化

string pattern = "h:////cut//(5.5)//*.jpg"; //存放的路徑

//cout << pattern << endl;

vectorimages; //mat類合集

// 必須cv的string

vectorfn;

glob(pattern, fn, false);

size_t count = fn.size();

cout << count << endl;

//double total_area = 13.86*13.86;//所加工的金字塔總面積

//double pixel_area = total_area / 948675;//在當前攝影條件下,平均每個畫素面積

char filename[100];

mat imagegray;

for (int i = 0; i < count; i++)}}

}*/images[i] = drawing(images[i], imagegray);

imshow("dst", images[i]);

sprintf_s(filename, "h:////result//%u.jpg", i+1);//賦予檔名

imwrite(filename, images[i]);//儲存

cout << "global白色畫素點一共有:" << global_whitenum << endl;

cout << "global黑色畫素點一共有:" << global_blacknum << endl;

} else

else local_blacknum++;}}

imshow("image", image);

imshow("gray", imagegray);

//cv::imshow("globalthreshold", global);

cv::imshow("localthreshold", local);

cout << "local白色畫素點一共有:" << local_whitenum << endl;

cout << "local黑色畫素點一共有:" << local_blacknum << endl;

} */

cv::waitkey(0);

return 0;

}// 執行程式: ctrl + f5 或除錯 >「開始執行(不除錯)」選單

// 除錯程式: f5 或除錯 >「開始除錯」選單

// 1. 使用解決方案資源管理器視窗新增/管理檔案

// 2. 使用團隊資源管理器視窗連線到源**管理

// 3. 使用輸出視窗檢視生成輸出和其他訊息

// 4. 使用錯誤列表視窗檢視錯誤

// 5. 轉到「專案」>「新增新項」以建立新的**檔案,或轉到「專案」>「新增現有項」以將現有**檔案新增到專案

// 6. 將來,若要再次開啟此專案,請轉到「檔案」>「開啟」>「專案」並選擇 .sln 檔案

圓 最小外包矩形 Opencv實現最小外接矩形和圓

步驟 將一幅影象先轉灰度,再canny邊緣檢測得到二值化邊緣影象,再尋找輪廓,輪廓是由一系列點構成的,要想獲得輪廓的最小外接矩形,首先需要得到輪廓的近似多邊形,用道格拉斯 普克抽稀 dp 演算法,道格拉斯 普克抽稀演算法,是將曲線近似表示為一系列點,並減少點的數量的一種演算法。該演算法實現抽稀的過程...

opencv6 最小外接矩形minAreaRect

最近在做目標跟蹤相關的實驗,其中牽涉到最小外接矩形或最小外接圓形的函式使用,把自己實驗的過程記錄一下,希望可以幫助大家。minarearect 函式用於給定的2d點集,函式原型 rotatedrect minarearect inputarray points 只有乙個輸入引數,型別可以是vecto...

Opencv實現最小外接矩形和圓

步驟 將一幅影象先轉灰度,再canny邊緣檢測得到二值化邊緣影象,再尋找輪廓,輪廓是由一系列點構成的,要想獲得輪廓的最小外接矩形,首先需要得到輪廓的近似多邊形,用程式設計客棧道格拉斯 普克抽稀 dp 演算法,道格拉斯 普克抽稀演算法,是將曲線近似表示為一系列點,並減少點的數量的一種演算法。該演算法實...