Quantcast
Channel: OpenCV Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 41027

OpenCV HoughCircile detection with refresh window

$
0
0
I need some help for this code! #include #include using namespace std; using namespace cv; Mat src, adaptDst; int block_size, C; void adaptThreshAndShow() { adaptiveThreshold(src, adaptDst, 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY, block_size, C); imshow("Adaptive Thresholding", adaptDst); } void adaptiveThresholding1(int, void*) { static int prev_block_size = block_size; if ((block_size % 2) == 0) { if (block_size > prev_block_size) { block_size++; } if (block_size < prev_block_size) { block_size--; } } if (block_size <= 1) { block_size = 3; } adaptThreshAndShow(); } void adaptativeThresholding2(int, void*) { adaptThreshAndShow(); } int main() { src = imread("lena.png", IMREAD_GRAYSCALE); dst = src.clone(); namedWindow("Source", WINDOW_FREERATIO); namedWindow("Adaptive Thresholding", WINDOW_FREERATIO); block_size = 11; C = 2; createTrackbar("block_size", "Adaptive Thresholding", &block_size, 25, adaptiveThresholding1); createTrackbar("C", "Adaptive Thresholding", &C, 255, adaptativeThresholding2); adaptiveThresholding1(block_size, nullptr); adaptativeThresholding2(C, nullptr); vector circles; HoughCircles(adaptDst, circles, HOUGH_GRADIENT, 1, adaptDst.rows / 16, // change this value to detect circles with different distances to each other 1, 1, 5, 5 ); for (size_t i = 0; i < circles.size(); i++) { Vec3i c = circles[i]; Point center = Point(c[0], c[1]); // circle center circle(src, center, 1, Scalar(0, 100, 100), 3, LINE_AA); // circle outline int radius = c[2]; circle(src, center, radius, Scalar(255, 0, 255), 3, LINE_AA); } moveWindow("Source", 0, 0); moveWindow("Adaptive Thresholding", 2 * src.cols, 0); imshow("Source", src); cout << "Press any key to exit...\n"; waitKey(0); return 0; } All time i move the trackbar i need to have in the source window (refreshing detection). If i change the values in the adaptive threshold i could have new detection from the source window, but i have a probleme always i change the values the adaptive threshold take the new source of image and change it. Sorry for my english. sincerely. SlyDark

Viewing all articles
Browse latest Browse all 41027


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>