opencv 利用滑動條改變引數的霍夫圓檢測

2021-08-19 19:57:24 字數 1067 閱讀 4010

在學習opencv的過程中,我發現用霍夫圓變換去檢測圓的效果並不理想,對不同的影象,需要設定不同的引數,才能得到較好的效果。於是我就想到了利用滑動條來改變引數,這樣對不同的,只需通過改變滑動條,都可以檢測出擬合度較好的圓。

以下為**:

#include#includeusing namespace cv;

using namespace std;

mat srcimage=imread("test88.jpg");//讀取影象

mat midimage;//定義臨時變數

/*霍夫圓變換引數宣告*/

double dp=1.5;//累加器影象的反比解析度

double min_dist=0.1;//檢測到圓心之間的最小距離

int param_1=30;//canny邊緣函式的高閾值

int param_2=20;//圓心檢測閾值

int min_radius=0,max_radius=100;//能檢測到的最小最大圓半徑

void on_trackbar(int ,void*)

imshow("【效果圖】",srcimage2);

}int main()

效果:

可以看到,通過滑動條改變了引數後,得到了較好的擬合效果。

這裡我只建立了2個滑動條,改變了2個引數,如有需要,也可以建立更多的滑動條以達到更好的效果。

opencv 滑動條製作

使用函式 cv2.gettrackbarpos 引數詳情 滑動條的名字 滑動條被放置視窗的名字 滑動條預設的位置 滑動條最大的值 直接例項理解 通過調節滑動條來設定畫板顏色,視窗顯示顏色,三個滑動條來設定rgb的顏色 import cv2 import numpy as np r init 300 ...

QSlider滑動條改變字型大小

import sys from pyqt5.qtcore import qt from pyqt5.qtgui import qfont from pyqt5.qtwidgets import class sliderdemo qwidget def init self super init sel...

改變滑動條CSliderCtrl的底色

有時候對話方塊的底色和滑動條的底色顏色不一致,導致顯示效果不理想,如下圖 為了解決這個問題,可以過載對話方塊類的onctlcolor函式,在其中新增 if nctlcolor ctlcolor static nctlcolor ctlcolor dlg 這裡的csliderctrl屬於static一...