C++ opencv霍夫圓檢測(cè)使用案例詳解
本程序是一個(gè)最簡(jiǎn)單的霍夫圓檢測(cè)函數(shù)的使用案例,剛剛學(xué)會(huì)的用法,發(fā)一下,可以參考,參數(shù)啥的可根據(jù)圖片調(diào)節(jié)。
#pragma once
#include<quickopencv.h>
#include<vector>
#include <stdio.h>
#include <iostream>
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include<opencv2/opencv.hpp>
using namespace cv;
using namespace std;
class QuickDemo {
public:
void ColorSpace_Demo(Mat &image);
};
void QuickDemo::ColorSpace_Demo(Mat &image)
{
Mat gray, hsv, img3;
cvtColor(image, gray, COLOR_BGR2GRAY);
cvtColor(image, hsv, COLOR_BGR2HSV);
//H取值0-180表示顏色 S取值0-255表示飽和度 V0-255表示亮度
namedWindow("huidu", WINDOW_FREERATIO);
imshow("huidu", gray);
GaussianBlur(gray, gray, Size(9, 9), 0, 0);//高斯模糊
medianBlur(gray, gray, 3);//中值濾波
vector<Vec3f> circles;
HoughCircles(gray, circles, HOUGH_GRADIENT, 1, 1, 100,100, 0,00 );
Canny(gray, img3, 50, 100);//邊緣檢測(cè)
for (size_t i = 0; i < circles.size(); i++)
{
Point center(cvRound(circles[i][0]), cvRound(circles[i][1]));
int radius = cvRound(circles[i][2]);
// circle center
circle(gray, center, 3, Scalar(60, 30, 60), -1, 5, 0);
// circle outline
circle(gray, center, radius, Scalar(0, 60, 60), 3, 3, 0);
}
namedWindow("Hough Circle Transform Demo", WINDOW_FREERATIO);
imshow("Hough Circle Transform Demo",gray);
}
主函數(shù)調(diào)用
int main(int, char **argv)
{
Mat src = imread("D:/YUAN.jpg");//只能讀八位或者小數(shù)圖像,通道順序B G R 取值空間為0-255
if (src.empty())
{
cout<<"cant read";
return -1;
}
QuickDemo qd;
qd.ColorSpace_Demo(src);
waitKey(0);
destroyAllWindows;
return 0;
}
運(yùn)行效果如下

到此這篇關(guān)于C++ opencv霍夫圓檢測(cè)使用案例詳解的文章就介紹到這了,更多相關(guān)C++ opencv霍夫圓檢測(cè)使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- C++?opencv圖像處理實(shí)現(xiàn)圖片邊緣檢測(cè)示例
- C++ OpenCV實(shí)戰(zhàn)之網(wǎng)孔檢測(cè)的實(shí)現(xiàn)
- C++ OpenCV實(shí)戰(zhàn)之標(biāo)記點(diǎn)檢測(cè)的實(shí)現(xiàn)
- C++?OpenCV實(shí)戰(zhàn)之車道檢測(cè)
- C++?OpenCV實(shí)現(xiàn)二維碼檢測(cè)功能
- opencv3/C++ 實(shí)現(xiàn)SURF特征檢測(cè)
- opencv3/C++實(shí)現(xiàn)霍夫圓/直線檢測(cè)
- C++利用opencv實(shí)現(xiàn)人臉檢測(cè)
- C++利用Opencv實(shí)現(xiàn)多個(gè)圓形檢測(cè)
相關(guān)文章
C語言中g(shù)etch()函數(shù)詳解及簡(jiǎn)單實(shí)例
這篇文章主要介紹了C語言中g(shù)etch()函數(shù)詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-03-03
在Visual Studio使用C++開發(fā)Metro應(yīng)用
這篇文章主要介紹了在Visual Studio使用C++開發(fā)Metro應(yīng)用的示例,盡管只是一個(gè)Hello world,但可以體現(xiàn)出VS下為開發(fā)者提供的方便,需要的朋友可以參考下2015-07-07
C語言實(shí)現(xiàn)酒店客房管理系統(tǒng)課程設(shè)計(jì)
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)酒店客房管理系統(tǒng)課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
C語言實(shí)現(xiàn)手寫字符串處理工具的示例代碼
這篇文章主要為大家詳細(xì)介紹了利用C語言實(shí)現(xiàn)手寫字符串處理工具的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2022-09-09
cmake跨平臺(tái)構(gòu)建工具的學(xué)習(xí)筆記
CMake是一個(gè)跨平臺(tái)的安裝/編譯工具,通過CMake我們可以通過簡(jiǎn)單的語句來描述所有平臺(tái)的安裝/編譯過程,下面這篇文章主要給大家介紹了關(guān)于cmake跨平臺(tái)構(gòu)建工具的相關(guān)資料,需要的朋友可以參考下2023-02-02
老生常談C語言動(dòng)態(tài)函數(shù)庫的制作和使用(推薦)
下面小編就為大家?guī)硪黄仙U凜語言動(dòng)態(tài)函數(shù)庫的制作和使用(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08

