{"id":118,"date":"2009-11-27T17:23:13","date_gmt":"2009-11-28T00:23:13","guid":{"rendered":"http:\/\/www.giassa.net\/?page_id=118"},"modified":"2025-08-24T08:03:52","modified_gmt":"2025-08-24T15:03:52","slug":"image-processing-tutorials","status":"publish","type":"page","link":"https:\/\/www.giassa.net\/?page_id=118","title":{"rendered":"Image Processing Tutorials"},"content":{"rendered":"<div id=\"shailan-subpages-118-1\"><ul class=\"subpages\"><li class=\"page_item page-item-169\"><a href=\"https:\/\/www.giassa.net\/?page_id=169\" title=\"0 &#8211; The Basics\" rel=\"\">0 - The Basics<\/a><\/li>\n<li class=\"page_item page-item-174\"><a href=\"https:\/\/www.giassa.net\/?page_id=174\" title=\"1 &#8211; Downsampling\" rel=\"\">1 - Downsampling<\/a><\/li>\n<li class=\"page_item page-item-200\"><a href=\"https:\/\/www.giassa.net\/?page_id=200\" title=\"2 &#8211; Upsampling &#038; Interpolation\" rel=\"\">2 - Upsampling & Interpolation<\/a>\n<ul class='children'>\n\t<li class=\"page_item page-item-207\"><a href=\"https:\/\/www.giassa.net\/?page_id=207\" title=\"I &#8211; Nearest Neighbour Interpolation\" rel=\"\">I - Nearest Neighbour Interpolation<\/a><\/li>\n\t<li class=\"page_item page-item-240\"><a href=\"https:\/\/www.giassa.net\/?page_id=240\" title=\"II \u2013 Bilinear Interpolation\" rel=\"\">II \u2013 Bilinear Interpolation<\/a><\/li>\n\t<li class=\"page_item page-item-274\"><a href=\"https:\/\/www.giassa.net\/?page_id=274\" title=\"III &#8211; Bicubic Spline Interpolation\" rel=\"\">III - Bicubic Spline Interpolation<\/a><\/li>\n\t<li class=\"page_item page-item-371\"><a href=\"https:\/\/www.giassa.net\/?page_id=371\" title=\"IV &#8211; Generalized Bicubic Interpolation\" rel=\"\">IV - Generalized Bicubic Interpolation<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"page_item page-item-411\"><a href=\"https:\/\/www.giassa.net\/?page_id=411\" title=\"3 \u2013 Histograms, Statistics, &#038; Single Pixel Operations\" rel=\"\">3 \u2013 Histograms, Statistics, & Single Pixel Operations<\/a>\n<ul class='children'>\n\t<li class=\"page_item page-item-470\"><a href=\"https:\/\/www.giassa.net\/?page_id=470\" title=\"I &#8211; Histograms &#038; Statistics\" rel=\"\">I - Histograms & Statistics<\/a><\/li>\n\t<li class=\"page_item page-item-472\"><a href=\"https:\/\/www.giassa.net\/?page_id=472\" title=\"II &#8211; Contrast Adjustment &#038; Image Normalization\" rel=\"\">II - Contrast Adjustment & Image Normalization<\/a><\/li>\n\t<li class=\"page_item page-item-475\"><a href=\"https:\/\/www.giassa.net\/?page_id=475\" title=\"III &#8211; Gamma Correction\" rel=\"\">III - Gamma Correction<\/a><\/li>\n\t<li class=\"page_item page-item-477\"><a href=\"https:\/\/www.giassa.net\/?page_id=477\" title=\"IV &#8211; Logarithmic Transformation\" rel=\"\">IV - Logarithmic Transformation<\/a><\/li>\n\t<li class=\"page_item page-item-479\"><a href=\"https:\/\/www.giassa.net\/?page_id=479\" title=\"V &#8211; Error Vectors\" rel=\"\">V - Error Vectors<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"page_item page-item-584\"><a href=\"https:\/\/www.giassa.net\/?page_id=584\" title=\"4 &#8211; Spatial Convolution Masks\" rel=\"\">4 - Spatial Convolution Masks<\/a>\n<ul class='children'>\n\t<li class=\"page_item page-item-588\"><a href=\"https:\/\/www.giassa.net\/?page_id=588\" title=\"I &#8211; Basic Masks\" rel=\"\">I - Basic Masks<\/a><\/li>\n\t<li class=\"page_item page-item-590\"><a href=\"https:\/\/www.giassa.net\/?page_id=590\" title=\"II &#8211; Special Masks and Edge Detection\" rel=\"\">II - Special Masks and Edge Detection<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"page_item page-item-237\"><a href=\"https:\/\/www.giassa.net\/?page_id=237\" title=\"5 \u2013 Image Noise &#038; Spatial Domain Filtering\" rel=\"\">5 \u2013 Image Noise & Spatial Domain Filtering<\/a>\n<ul class='children'>\n\t<li class=\"page_item page-item-635\"><a href=\"https:\/\/www.giassa.net\/?page_id=635\" title=\"I &#8211; Salt &#038; Pepper Noise &#8211; Non-Linear Filtering\" rel=\"\">I - Salt & Pepper Noise - Non-Linear Filtering<\/a><\/li>\n\t<li class=\"page_item page-item-637\"><a href=\"https:\/\/www.giassa.net\/?page_id=637\" title=\"II &#8211; Gaussian Noise &#8211; Linear Filtering\" rel=\"\">II - Gaussian Noise - Linear Filtering<\/a><\/li>\n\t<li class=\"page_item page-item-639\"><a href=\"https:\/\/www.giassa.net\/?page_id=639\" title=\"III &#8211; Adaptive Filtering\" rel=\"\">III - Adaptive Filtering<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul><\/div>\n","protected":false},"excerpt":{"rendered":"<p>0 &#8211; The Basics 1 &#8211; Downsampling 2 &#8211; Upsampling &#038; Interpolation I &#8211; Nearest Neighbour Interpolation II \u2013 Bilinear Interpolation III &#8211; Bicubic Spline Interpolation IV &#8211; Generalized Bicubic Interpolation 3 \u2013 Histograms, Statistics, &#038; Single Pixel Operations I &hellip; <a href=\"https:\/\/www.giassa.net\/?page_id=118\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":865,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-118","page","type-page","status-publish","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"A collection of free image processing tutorials for people seeking to understand the underlying concepts of this complex and interesting subject.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.giassa.net\/?page_id=118\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"GIASSA.NET | Engineering, DIY, and Everything Else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"GIASSA.NET - Image Processing Tutorials | GIASSA.NET\" \/>\n\t\t<meta property=\"og:description\" content=\"A collection of free image processing tutorials for people seeking to understand the underlying concepts of this complex and interesting subject.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.giassa.net\/?page_id=118\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2009-11-28T00:23:13+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-08-24T15:03:52+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"GIASSA.NET - Image Processing Tutorials | GIASSA.NET\" \/>\n\t\t<meta name=\"twitter:description\" content=\"A collection of free image processing tutorials for people seeking to understand the underlying concepts of this complex and interesting subject.\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?page_id=118#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.giassa.net#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.giassa.net\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?page_id=865#listItem\",\"name\":\"Projects\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?page_id=865#listItem\",\"position\":2,\"name\":\"Projects\",\"item\":\"https:\\\/\\\/www.giassa.net\\\/?page_id=865\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?page_id=118#listItem\",\"name\":\"Image Processing Tutorials\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.giassa.net#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?page_id=118#listItem\",\"position\":3,\"name\":\"Image Processing Tutorials\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?page_id=865#listItem\",\"name\":\"Projects\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/#organization\",\"name\":\"GIASSA.NET\",\"description\":\"Engineering, DIY, and Everything Else\",\"url\":\"https:\\\/\\\/www.giassa.net\\\/\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?page_id=118#webpage\",\"url\":\"https:\\\/\\\/www.giassa.net\\\/?page_id=118\",\"name\":\"GIASSA.NET - Image Processing Tutorials | GIASSA.NET\",\"description\":\"A collection of free image processing tutorials for people seeking to understand the underlying concepts of this complex and interesting subject.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.giassa.net\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?page_id=118#breadcrumblist\"},\"datePublished\":\"2009-11-27T17:23:13-07:00\",\"dateModified\":\"2025-08-24T08:03:52-07:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/#website\",\"url\":\"https:\\\/\\\/www.giassa.net\\\/\",\"name\":\"GIASSA.NET\",\"description\":\"Engineering, DIY, and Everything Else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.giassa.net\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"GIASSA.NET - Image Processing Tutorials | GIASSA.NET","description":"A collection of free image processing tutorials for people seeking to understand the underlying concepts of this complex and interesting subject.","canonical_url":"https:\/\/www.giassa.net\/?page_id=118","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/www.giassa.net\/?page_id=118#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.giassa.net#listItem","position":1,"name":"Home","item":"https:\/\/www.giassa.net","nextItem":{"@type":"ListItem","@id":"https:\/\/www.giassa.net\/?page_id=865#listItem","name":"Projects"}},{"@type":"ListItem","@id":"https:\/\/www.giassa.net\/?page_id=865#listItem","position":2,"name":"Projects","item":"https:\/\/www.giassa.net\/?page_id=865","nextItem":{"@type":"ListItem","@id":"https:\/\/www.giassa.net\/?page_id=118#listItem","name":"Image Processing Tutorials"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.giassa.net#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.giassa.net\/?page_id=118#listItem","position":3,"name":"Image Processing Tutorials","previousItem":{"@type":"ListItem","@id":"https:\/\/www.giassa.net\/?page_id=865#listItem","name":"Projects"}}]},{"@type":"Organization","@id":"https:\/\/www.giassa.net\/#organization","name":"GIASSA.NET","description":"Engineering, DIY, and Everything Else","url":"https:\/\/www.giassa.net\/"},{"@type":"WebPage","@id":"https:\/\/www.giassa.net\/?page_id=118#webpage","url":"https:\/\/www.giassa.net\/?page_id=118","name":"GIASSA.NET - Image Processing Tutorials | GIASSA.NET","description":"A collection of free image processing tutorials for people seeking to understand the underlying concepts of this complex and interesting subject.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.giassa.net\/#website"},"breadcrumb":{"@id":"https:\/\/www.giassa.net\/?page_id=118#breadcrumblist"},"datePublished":"2009-11-27T17:23:13-07:00","dateModified":"2025-08-24T08:03:52-07:00"},{"@type":"WebSite","@id":"https:\/\/www.giassa.net\/#website","url":"https:\/\/www.giassa.net\/","name":"GIASSA.NET","description":"Engineering, DIY, and Everything Else","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.giassa.net\/#organization"}}]},"og:locale":"en_US","og:site_name":"GIASSA.NET | Engineering, DIY, and Everything Else","og:type":"article","og:title":"GIASSA.NET - Image Processing Tutorials | GIASSA.NET","og:description":"A collection of free image processing tutorials for people seeking to understand the underlying concepts of this complex and interesting subject.","og:url":"https:\/\/www.giassa.net\/?page_id=118","article:published_time":"2009-11-28T00:23:13+00:00","article:modified_time":"2025-08-24T15:03:52+00:00","twitter:card":"summary","twitter:title":"GIASSA.NET - Image Processing Tutorials | GIASSA.NET","twitter:description":"A collection of free image processing tutorials for people seeking to understand the underlying concepts of this complex and interesting subject."},"aioseo_meta_data":{"post_id":"118","title":"GIASSA.NET - Image Processing Tutorials | #site_title","description":"A collection of free image processing tutorials for people seeking to understand the underlying concepts of this complex and interesting subject.","keywords":[{"label":"image processing","value":"image processing"},{"label":"giassa","value":"giassa"},{"label":"matthew","value":"matthew"},{"label":"sfu","value":"sfu"},{"label":"engineering","value":"engineering"}],"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"WebPage","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-04-22 01:26:43","updated":"2025-08-24 15:22:54","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.giassa.net\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.giassa.net\/?page_id=865\" title=\"Projects\">Projects<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tImage Processing Tutorials\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.giassa.net"},{"label":"Projects","link":"https:\/\/www.giassa.net\/?page_id=865"},{"label":"Image Processing Tutorials","link":"https:\/\/www.giassa.net\/?page_id=118"}],"_links":{"self":[{"href":"https:\/\/www.giassa.net\/index.php?rest_route=\/wp\/v2\/pages\/118","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.giassa.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.giassa.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.giassa.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.giassa.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=118"}],"version-history":[{"count":43,"href":"https:\/\/www.giassa.net\/index.php?rest_route=\/wp\/v2\/pages\/118\/revisions"}],"predecessor-version":[{"id":1074,"href":"https:\/\/www.giassa.net\/index.php?rest_route=\/wp\/v2\/pages\/118\/revisions\/1074"}],"up":[{"embeddable":true,"href":"https:\/\/www.giassa.net\/index.php?rest_route=\/wp\/v2\/pages\/865"}],"wp:attachment":[{"href":"https:\/\/www.giassa.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}