{"id":81092,"date":"2021-06-15T09:00:57","date_gmt":"2021-06-15T03:30:57","guid":{"rendered":"https:\/\/techvidvan.com\/tutorials\/?p=81092"},"modified":"2026-06-03T15:09:25","modified_gmt":"2026-06-03T09:39:25","slug":"detect-objects-of-similar-color-using-opencv-in-python","status":"publish","type":"post","link":"https:\/\/techvidvan.com\/tutorials\/detect-objects-of-similar-color-using-opencv-in-python\/","title":{"rendered":"Detect Objects of Similar Color using OpenCV in Python"},"content":{"rendered":"<p>In this project, we are going to make a basic Object Detector by color using OpenCV python. Here, we will create this using an image processing technique called Color Detection and Segmentation.<\/p>\n<p><strong>OpenCV<\/strong> is an open-source computer vision library. OpenCV is used in many real-time applications also. OpenCV has some built-in functions to perform Color detection and Segmentation operations.<\/p>\n<p><strong>So what are Color Detection and Segmentation Techniques in Image Processing?<\/strong><\/p>\n<ul>\n<li>Color detection is a technique of detecting any color in a given range of HSV (hue saturation value) color space.<\/li>\n<li>Image segmentation is the process of partitioning digital image and labeling every pixel, where each pixel having the same label shares certain characteristics.<\/li>\n<\/ul>\n<h3>Project Prerequisites<\/h3>\n<ul>\n<li>Python &#8211; 3.x (We used 3.7.10 for this project)<\/li>\n<li>OpenCV &#8211; 4.5. Run \u201cpip install opencv-python\u201d to install OpenCV.<\/li>\n<li>Numpy &#8211; 1.20.3<\/li>\n<\/ul>\n<h3>Download Project Code<\/h3>\n<p>Please download the source code of detecting objects of similar color in an image: <a href=\"https:\/\/drive.google.com\/file\/d\/1IPmw3OP_BZaQWUFYkgPx3MEEhi6z9yfh\/view?usp=drive_link\"><strong>Detect Objects of Similar Color Project Code<\/strong><\/a><\/p>\n<p>Ok, now we have everything we need to get started. So let\u2019s start.<\/p>\n<h3>Steps to Detect Objects of Similar Color using OpenCV<\/h3>\n<ol>\n<li>Import necessary packages and read the image.<\/li>\n<li>Detect the color from the input image and create a mask.<\/li>\n<li>Removing unnecessary noise from masks.<\/li>\n<li>Apply the mask to the image.<\/li>\n<li>Draw a Boundary of the detected objects.<\/li>\n<\/ol>\n<h4>Step 1 &#8211; Import necessary packages and Initialize the camera:<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># TechVidvan Object detection of similar color\r\n\r\nimport cv2\r\nimport numpy as np\r\n\r\n# Reading the image\r\nimg = cv2.imread('image.jpg')\r\n\r\n# Showing the output\r\n\r\ncv2.imshow(\"Image\", img)\r\n\r\ncv2.waitKey(0)\r\ncv2.destroyAllWindows()\r\n<\/pre>\n<p><strong>Explanation:<\/strong><\/p>\n<ul>\n<li>In the first line, we imported the OpenCV module by calling it cv2.<\/li>\n<li>cv2.imread function reads an image from the local path.<\/li>\n<li>cv2.imshow function shows the image.<\/li>\n<li>waitKey(0) means the image window will be opened until any key is pressed.<\/li>\n<\/ul>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/06\/img.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-81134\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/06\/img.png\" alt=\"opencv show iamge\" width=\"1920\" height=\"1056\" \/><\/a><\/p>\n<h4>Step 2 &#8211; Detect the color from the input image and create a mask:<\/h4>\n<p>At first, we\u2019ll detect green objects in this image and then we\u2019ll detect yellow objects. OpenCV reads the frame as BGR colorspace. But to detect any color, first, we have to convert the frame to HSV colorspace using cv2.cvtColor function.<\/p>\n<p><strong>So why HSV?<\/strong><\/p>\n<p>HSV color space is useful when we\u2019re working with color information. It stands for HUE, SATURATION, and VALUE (or brightness). It is a cylindrical color space.<\/p>\n<ul>\n<li><strong>HUE:<\/strong> The hues are modeled as an angular dimension that encodes color information.<\/li>\n<li><strong>SATURATION:<\/strong> Saturation encodes the intensity of color.<\/li>\n<li><strong>VALUE:<\/strong> Value represents the amount to which that respective color is mixed with black.<\/li>\n<\/ul>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># convert to hsv colorspace\r\nhsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)\r\n\r\n# lower bound and upper bound for Green color\r\nlower_bound = np.array([50, 20, 20])\t \r\nupper_bound = np.array([100, 255, 255])\r\n\r\n# find the colors within the boundaries\r\nmask = cv2.inRange(hsv, lower_bound, upper_bound)\r\n<\/pre>\n<p><strong>Explanation:<\/strong><\/p>\n<ul>\n<li>cv2.cvtColor() function converts colorspace.<\/li>\n<li>The lower and upper bounds are the boundaries of the color.<\/li>\n<li>inRange() function returns a binary mask of the frame where the green color is present.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/06\/mask.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-81135\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/06\/mask.png\" alt=\"mask\" width=\"1920\" height=\"1052\" \/><\/a><\/p>\n<p>Here we can see that in the frame wherever the green color is detected the mask shows that as white and the rest of the region as black.<\/p>\n<h4>Step 3 &#8211; Removing unnecessary noise from masks:<\/h4>\n<p>In the mask, we can see that there is lots of unnecessary noise. So we have to remove it to get a better result.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#define kernel size  \r\nkernel = np.ones((7,7),np.uint8)\r\n\r\n# Remove unnecessary noise from mask\r\n\r\nmask = cv2.morphologyEx(mask, cv2.MORPH_CLOSE, kernel)\r\nmask = cv2.morphologyEx(mask, cv2.MORPH_OPEN, kernel)\r\n<\/pre>\n<p><strong>Explanation:<\/strong><\/p>\n<ul>\n<li>np.ones((7,7),np.uint8) create a 5&#215;5 8 bit integer matrix.<\/li>\n<li>cv2.MORPH_CLOSE removes unnecessary black noises from the white region.<\/li>\n<li>cv2.MORPH_OPEN removes white noise from the black region of the mask.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/06\/filtered-color.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-81136\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/06\/filtered-color.png\" alt=\"filtered color\" width=\"1920\" height=\"1052\" \/><\/a><\/p>\n<h4>Step 4 &#8211; Apply the mask on the image:<\/h4>\n<p>Now we\u2019ll segment the green region from the image.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># Segment only the detected region\r\nsegmented_img = cv2.bitwise_and(img, img, mask=mask)\r\n<\/pre>\n<p>cv2.bitwise_and() applies mask on frame in only that region where the mask is true means white.<\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/06\/segmented.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-81137\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/06\/segmented.png\" alt=\"segmented\" width=\"1920\" height=\"1052\" \/><\/a><\/p>\n<p>so we have successfully detected all the green objects from the image. Now we\u2019ll draw boundaries over the detected regions.<\/p>\n<h4>Step 5 &#8211; Draw a Boundary of the detected objects:<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># Find contours from the mask\r\n\r\ncontours, hierarchy = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)\r\n\r\noutput = cv2.drawContours(segmented_img, contours, -1, (0, 0, 255), 3)\r\n\r\n# Showing the output\r\n\r\ncv2.imshow(\"Output\", output)\r\n<\/pre>\n<p><strong>Explanation:<\/strong><\/p>\n<ul>\n<li>cv2.findcontour finds all the continuous points along the boundary.<\/li>\n<li>cv2.drawContours draws all the contour points<\/li>\n<\/ul>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/06\/green.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-81138\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/06\/green.png\" alt=\"green\" width=\"1920\" height=\"1052\" \/><\/a><\/p>\n<p><strong>Let\u2019s detect yellow objects in the image.<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># lower bound and upper bound for Yellow color\r\n\r\nlower_bound = np.array([20, 80, 80])\t \r\nupper_bound = np.array([30, 255, 255])\r\n<\/pre>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/06\/yellow.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-81139\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/06\/yellow.png\" alt=\"yellow selection\" width=\"1920\" height=\"1052\" \/><\/a><\/p>\n<p><strong>Finally, we\u2019ll draw boundaries in the main image.<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># Draw contour on original image\r\n\r\noutput = cv2.drawContours(img, contours, -1, (0, 0, 255), 3)\r\n<\/pre>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/06\/draw-contour.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-81140\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/06\/draw-contour.png\" alt=\"draw contour\" width=\"1920\" height=\"1056\" \/><\/a><\/p>\n<h3>Summary<\/h3>\n<p>In this project, we&#8217;ve created a basic object detector using OpenCV Python. Here we implemented the Color detection and Segmentation Technique. We learned about colors, color filtering techniques, contour detection, and some segmentation techniques.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this project, we are going to make a basic Object Detector by color using OpenCV python. Here, we will create this using an image processing technique called Color Detection and Segmentation. OpenCV is&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":81145,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[210],"tags":[3587,391,483],"class_list":["post-81092","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-machine-learning","tag-detect-object-with-similar-color","tag-opencv-project","tag-python-project"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Detect Objects of Similar Color using OpenCV in Python - TechVidvan<\/title>\n<meta name=\"description\" content=\"Create OpenCV project to detect objects of similar color in an image color detection and segmentation techniques\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/techvidvan.com\/tutorials\/detect-objects-of-similar-color-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=\"Detect Objects of Similar Color using OpenCV in Python - TechVidvan\" \/>\n<meta property=\"og:description\" content=\"Create OpenCV project to detect objects of similar color in an image color detection and segmentation techniques\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techvidvan.com\/tutorials\/detect-objects-of-similar-color-using-opencv-in-python\/\" \/>\n<meta property=\"og:site_name\" content=\"TechVidvan\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/TechVidvan\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-06-15T03:30:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-03T09:39:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/06\/detect-similar-color-objects-opencv-python.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"TechVidvan Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:site\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TechVidvan Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Detect Objects of Similar Color using OpenCV in Python - TechVidvan","description":"Create OpenCV project to detect objects of similar color in an image color detection and segmentation techniques","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:\/\/techvidvan.com\/tutorials\/detect-objects-of-similar-color-using-opencv-in-python\/","og_locale":"en_US","og_type":"article","og_title":"Detect Objects of Similar Color using OpenCV in Python - TechVidvan","og_description":"Create OpenCV project to detect objects of similar color in an image color detection and segmentation techniques","og_url":"https:\/\/techvidvan.com\/tutorials\/detect-objects-of-similar-color-using-opencv-in-python\/","og_site_name":"TechVidvan","article_publisher":"https:\/\/www.facebook.com\/TechVidvan\/","article_published_time":"2021-06-15T03:30:57+00:00","article_modified_time":"2026-06-03T09:39:25+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/06\/detect-similar-color-objects-opencv-python.jpg","type":"image\/jpeg"}],"author":"TechVidvan Team","twitter_card":"summary_large_image","twitter_creator":"@vidvantech","twitter_site":"@vidvantech","twitter_misc":{"Written by":"TechVidvan Team","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techvidvan.com\/tutorials\/detect-objects-of-similar-color-using-opencv-in-python\/#article","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/detect-objects-of-similar-color-using-opencv-in-python\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22"},"headline":"Detect Objects of Similar Color using OpenCV in Python","datePublished":"2021-06-15T03:30:57+00:00","dateModified":"2026-06-03T09:39:25+00:00","mainEntityOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/detect-objects-of-similar-color-using-opencv-in-python\/"},"wordCount":662,"commentCount":0,"publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/detect-objects-of-similar-color-using-opencv-in-python\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/06\/detect-similar-color-objects-opencv-python.jpg","keywords":["detect object with similar color","opencv project","Python project"],"articleSection":["Machine Learning Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/techvidvan.com\/tutorials\/detect-objects-of-similar-color-using-opencv-in-python\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/techvidvan.com\/tutorials\/detect-objects-of-similar-color-using-opencv-in-python\/","url":"https:\/\/techvidvan.com\/tutorials\/detect-objects-of-similar-color-using-opencv-in-python\/","name":"Detect Objects of Similar Color using OpenCV in Python - TechVidvan","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/detect-objects-of-similar-color-using-opencv-in-python\/#primaryimage"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/detect-objects-of-similar-color-using-opencv-in-python\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/06\/detect-similar-color-objects-opencv-python.jpg","datePublished":"2021-06-15T03:30:57+00:00","dateModified":"2026-06-03T09:39:25+00:00","description":"Create OpenCV project to detect objects of similar color in an image color detection and segmentation techniques","breadcrumb":{"@id":"https:\/\/techvidvan.com\/tutorials\/detect-objects-of-similar-color-using-opencv-in-python\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techvidvan.com\/tutorials\/detect-objects-of-similar-color-using-opencv-in-python\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/detect-objects-of-similar-color-using-opencv-in-python\/#primaryimage","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/06\/detect-similar-color-objects-opencv-python.jpg","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/06\/detect-similar-color-objects-opencv-python.jpg","width":1200,"height":628,"caption":"detect similar color objects opencv python"},{"@type":"BreadcrumbList","@id":"https:\/\/techvidvan.com\/tutorials\/detect-objects-of-similar-color-using-opencv-in-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/techvidvan.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"Detect Objects of Similar Color using OpenCV in Python"}]},{"@type":"WebSite","@id":"https:\/\/techvidvan.com\/tutorials\/#website","url":"https:\/\/techvidvan.com\/tutorials\/","name":"TechVidvan Blogs","description":"","publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/techvidvan.com\/tutorials\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/techvidvan.com\/tutorials\/#organization","name":"TechVidvan","url":"https:\/\/techvidvan.com\/tutorials\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","width":200,"height":50,"caption":"TechVidvan"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/TechVidvan\/","https:\/\/x.com\/vidvantech"]},{"@type":"Person","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22","name":"TechVidvan Team","description":"The TechVidvan Team delivers practical, beginner-friendly tutorials on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our experts are here to help you upskill and excel in today\u2019s tech industry."}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/81092","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/comments?post=81092"}],"version-history":[{"count":2,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/81092\/revisions"}],"predecessor-version":[{"id":448039,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/81092\/revisions\/448039"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media\/81145"}],"wp:attachment":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media?parent=81092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/categories?post=81092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/tags?post=81092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}