{"id":13642,"date":"2024-03-15T07:32:29","date_gmt":"2024-03-15T07:32:29","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/"},"modified":"2025-08-05T21:28:12","modified_gmt":"2025-08-05T21:28:12","slug":"how-to-compare-image-similarity-in-opencv","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/","title":{"rendered":"Compare Image Similarity with OpenCV SSIM"},"content":{"rendered":"<p>In OpenCV, the Structural Similarity Index (SSIM) can be used to compare the similarity of two images. SSIM is a full-reference image quality assessment metric that can be used to measure the structural similarity of images.<\/p>\n<p>Here is an example code using the cv2 module in OpenCV to calculate the SSIM of two images.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">import<\/span> cv2\r\n\r\n<span class=\"hljs-comment\"># \u52a0\u8f7d\u4e24\u5f20\u8981\u6bd4\u8f83\u7684\u56fe\u7247<\/span>\r\nimg1 = cv2.imread(<span class=\"hljs-string\">'image1.jpg'<\/span>)\r\nimg2 = cv2.imread(<span class=\"hljs-string\">'image2.jpg'<\/span>)\r\n\r\n<span class=\"hljs-comment\"># \u5c06\u56fe\u7247\u8f6c\u6362\u4e3a\u7070\u5ea6\u56fe\u50cf<\/span>\r\ngray1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)\r\ngray2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)\r\n\r\n<span class=\"hljs-comment\"># \u8ba1\u7b97SSIM<\/span>\r\nssim = cv2.SIFT_create()\r\n\r\n<span class=\"hljs-comment\"># \u6253\u5370SSIM\u503c<\/span>\r\n<span class=\"hljs-built_in\">print<\/span>(<span class=\"hljs-string\">\"SSIM:\"<\/span>, ssim.compare(gray1, gray2))\r\n<\/code><\/pre>\n<p>Please note that the sample code uses grayscale images for comparison. If you want to compare color images, you can directly use the original color images for comparison.<\/p>\n<p>Furthermore, OpenCV also offers other methods for comparing image similarity, such as Mean Squared Error (MSE) and Structural Similarity Index (SSIM). You can choose the appropriate method based on your specific needs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In OpenCV, the Structural Similarity Index (SSIM) can be used to compare the similarity of two images. SSIM is a full-reference image quality assessment metric that can be used to measure the structural similarity of images. Here is an example code using the cv2 module in OpenCV to calculate the SSIM of two images. import [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[966,18217,8863,72,18218],"class_list":["post-13642","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-computer-vision","tag-image-similarity","tag-opencv","tag-python","tag-ssim"],"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>Compare Image Similarity with OpenCV SSIM - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how to measure image similarity using OpenCV&#039;s Structural Similarity Index (SSIM). Complete code example included.\" \/>\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-compare-image-similarity-in-opencv\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Compare Image Similarity with OpenCV SSIM\" \/>\n<meta property=\"og:description\" content=\"Learn how to measure image similarity using OpenCV&#039;s Structural Similarity Index (SSIM). Complete code example included.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/\" \/>\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-15T07:32:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-05T21:28:12+00:00\" \/>\n<meta name=\"author\" content=\"William Carter\" \/>\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=\"William Carter\" \/>\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-compare-image-similarity-in-opencv\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/\"},\"author\":{\"name\":\"William Carter\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0\"},\"headline\":\"Compare Image Similarity with OpenCV SSIM\",\"datePublished\":\"2024-03-15T07:32:29+00:00\",\"dateModified\":\"2025-08-05T21:28:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/\"},\"wordCount\":120,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"Computer vision\",\"image similarity\",\"OpenCV\",\"Python\",\"SSIM\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/\",\"name\":\"Compare Image Similarity with OpenCV SSIM - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T07:32:29+00:00\",\"dateModified\":\"2025-08-05T21:28:12+00:00\",\"description\":\"Learn how to measure image similarity using OpenCV's Structural Similarity Index (SSIM). Complete code example included.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Compare Image Similarity with OpenCV SSIM\"}]},{\"@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\/f697031891aacefc4b681d139781d3c0\",\"name\":\"William Carter\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g\",\"caption\":\"William Carter\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/williamcarter\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Compare Image Similarity with OpenCV SSIM - Blog - Silicon Cloud","description":"Learn how to measure image similarity using OpenCV's Structural Similarity Index (SSIM). Complete code example included.","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-compare-image-similarity-in-opencv\/","og_locale":"en_US","og_type":"article","og_title":"Compare Image Similarity with OpenCV SSIM","og_description":"Learn how to measure image similarity using OpenCV's Structural Similarity Index (SSIM). Complete code example included.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T07:32:29+00:00","article_modified_time":"2025-08-05T21:28:12+00:00","author":"William Carter","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"William Carter","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/"},"author":{"name":"William Carter","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0"},"headline":"Compare Image Similarity with OpenCV SSIM","datePublished":"2024-03-15T07:32:29+00:00","dateModified":"2025-08-05T21:28:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/"},"wordCount":120,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["Computer vision","image similarity","OpenCV","Python","SSIM"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/","name":"Compare Image Similarity with OpenCV SSIM - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T07:32:29+00:00","dateModified":"2025-08-05T21:28:12+00:00","description":"Learn how to measure image similarity using OpenCV's Structural Similarity Index (SSIM). Complete code example included.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-compare-image-similarity-in-opencv\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Compare Image Similarity with OpenCV SSIM"}]},{"@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\/f697031891aacefc4b681d139781d3c0","name":"William Carter","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g","caption":"William Carter"},"url":"https:\/\/www.silicloud.com\/blog\/author\/williamcarter\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13642","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\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=13642"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13642\/revisions"}],"predecessor-version":[{"id":157644,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13642\/revisions\/157644"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=13642"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=13642"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=13642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}