{"id":18534,"date":"2024-03-15T17:08:23","date_gmt":"2024-03-15T17:08:23","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/"},"modified":"2024-03-21T13:32:14","modified_gmt":"2024-03-21T13:32:14","slug":"how-to-identify-circles-using-opencv-in-python","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/","title":{"rendered":"How to identify circles using OpenCV in Python?"},"content":{"rendered":"<p>You can achieve circle detection using the OpenCV library by following these steps:<\/p>\n<ol>\n<li>Import the OpenCV library.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">import<\/span> cv2\r\n<span class=\"hljs-keyword\">import<\/span> numpy <span class=\"hljs-keyword\">as<\/span> np\r\n<\/code><\/pre>\n<ol>\n<li>Read the image and convert it to grayscale image.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code>image = cv2.imread(<span class=\"hljs-string\">'image.jpg'<\/span>)\r\ngray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)\r\n<\/code><\/pre>\n<ol>\n<li>Perform image pre-processing, such as using Gaussian blur for noise reduction.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code>blur = cv2.GaussianBlur(gray, (<span class=\"hljs-number\">5<\/span>, <span class=\"hljs-number\">5<\/span>), <span class=\"hljs-number\">0<\/span>)\r\n<\/code><\/pre>\n<ol>\n<li>Detect circles in images using the Hough Circle Transform.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code>circles = cv2.HoughCircles(blur, cv2.HOUGH_GRADIENT, <span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">20<\/span>, param1=<span class=\"hljs-number\">50<\/span>, param2=<span class=\"hljs-number\">30<\/span>, minRadius=<span class=\"hljs-number\">0<\/span>, maxRadius=<span class=\"hljs-number\">0<\/span>)\r\n<\/code><\/pre>\n<p>Param1 and param2 are parameters of the Hough circle transformation. Depending on the characteristics of the image, it may be necessary to adjust these parameters to achieve better circle detection results.<\/p>\n<ol>\n<li>Traverse the detected circles and draw them on the image.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">if<\/span> circles <span class=\"hljs-keyword\">is<\/span> <span class=\"hljs-keyword\">not<\/span> <span class=\"hljs-literal\">None<\/span>:\r\n    circles = np.uint16(np.around(circles))\r\n    <span class=\"hljs-keyword\">for<\/span> circle <span class=\"hljs-keyword\">in<\/span> circles[<span class=\"hljs-number\">0<\/span>, :]:\r\n        center = (circle[<span class=\"hljs-number\">0<\/span>], circle[<span class=\"hljs-number\">1<\/span>])\r\n        radius = circle[<span class=\"hljs-number\">2<\/span>]\r\n        cv2.circle(image, center, radius, (<span class=\"hljs-number\">0<\/span>, <span class=\"hljs-number\">255<\/span>, <span class=\"hljs-number\">0<\/span>), <span class=\"hljs-number\">2<\/span>)\r\n<\/code><\/pre>\n<ol>\n<li>Display the processed image.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code>cv2.imshow(<span class=\"hljs-string\">'Circle Detection'<\/span>, image)\r\ncv2.waitKey(<span class=\"hljs-number\">0<\/span>)\r\ncv2.destroyAllWindows()\r\n<\/code><\/pre>\n<p>Here are the basic steps for detecting circles using OpenCV. Depending on the specific characteristics and requirements of the image, you may also need to adjust some parameters and perform additional image processing operations.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>You can achieve circle detection using the OpenCV library by following these steps: Import the OpenCV library. import cv2 import numpy as np Read the image and convert it to grayscale image. image = cv2.imread(&#8216;image.jpg&#8217;) gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) Perform image pre-processing, such as using Gaussian blur for noise reduction. blur = cv2.GaussianBlur(gray, (5, 5), [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-18534","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to identify circles using OpenCV in Python? - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to identify circles using OpenCV in Python?\" \/>\n<meta property=\"og:description\" content=\"You can achieve circle detection using the OpenCV library by following these steps: Import the OpenCV library. import cv2 import numpy as np Read the image and convert it to grayscale image. image = cv2.imread(&#039;image.jpg&#039;) gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) Perform image pre-processing, such as using Gaussian blur for noise reduction. blur = cv2.GaussianBlur(gray, (5, 5), [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T17:08:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T13:32:14+00:00\" \/>\n<meta name=\"author\" content=\"Olivia Parker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Olivia Parker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/\"},\"author\":{\"name\":\"Olivia Parker\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\"},\"headline\":\"How to identify circles using OpenCV in Python?\",\"datePublished\":\"2024-03-15T17:08:23+00:00\",\"dateModified\":\"2024-03-21T13:32:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/\"},\"wordCount\":133,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/\",\"name\":\"How to identify circles using OpenCV in Python? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T17:08:23+00:00\",\"dateModified\":\"2024-03-21T13:32:14+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to identify circles using OpenCV in Python?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\",\"name\":\"Olivia Parker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"caption\":\"Olivia Parker\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to identify circles using OpenCV in Python? - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/","og_locale":"en_US","og_type":"article","og_title":"How to identify circles using OpenCV in Python?","og_description":"You can achieve circle detection using the OpenCV library by following these steps: Import the OpenCV library. import cv2 import numpy as np Read the image and convert it to grayscale image. image = cv2.imread('image.jpg') gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) Perform image pre-processing, such as using Gaussian blur for noise reduction. blur = cv2.GaussianBlur(gray, (5, 5), [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T17:08:23+00:00","article_modified_time":"2024-03-21T13:32:14+00:00","author":"Olivia Parker","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Olivia Parker","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/"},"author":{"name":"Olivia Parker","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9"},"headline":"How to identify circles using OpenCV in Python?","datePublished":"2024-03-15T17:08:23+00:00","dateModified":"2024-03-21T13:32:14+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/"},"wordCount":133,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/","name":"How to identify circles using OpenCV in Python? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T17:08:23+00:00","dateModified":"2024-03-21T13:32:14+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-identify-circles-using-opencv-in-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to identify circles using OpenCV in Python?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9","name":"Olivia Parker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","caption":"Olivia Parker"},"url":"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/18534","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=18534"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/18534\/revisions"}],"predecessor-version":[{"id":52220,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/18534\/revisions\/52220"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=18534"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=18534"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=18534"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}