<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: aposb</title>
    <description>The latest articles on DEV Community by aposb (@apostbollas).</description>
    <link>https://dev.to/apostbollas</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3315798%2F9398522f-f355-4e70-8a38-dcf65747c07f.png</url>
      <title>DEV Community: aposb</title>
      <link>https://dev.to/apostbollas</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/apostbollas"/>
    <language>en</language>
    <item>
      <title>Basic Stereo Algorithms (Evolution)</title>
      <dc:creator>aposb</dc:creator>
      <pubDate>Fri, 05 Jun 2026 13:32:19 +0000</pubDate>
      <link>https://dev.to/apostbollas/basic-stereo-algorithms-evolution-2fb0</link>
      <guid>https://dev.to/apostbollas/basic-stereo-algorithms-evolution-2fb0</guid>
      <description>&lt;p&gt;Stereo matching is a fundamental problem in computer vision and understanding how different approaches relate to one another can provide valuable insight into the field. In this post, I’m sharing a repository that presents simplified implementations of several classic stereo matching algorithms (in MATLAB and Python), making it easier to study their underlying concepts and compare their implementations.&lt;/p&gt;

&lt;p&gt;The project includes Block Matching, Dynamic Programming, Semi-Global Matching and two variants of Belief Propagation (Directional and Synchronous). Rather than focusing solely on the final algorithms, the implementations have been simplified and adapted to highlight the connections between them. This allows readers to follow how ideas from one method can lead to the next and gain a clearer understanding of the evolution of stereo matching techniques.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repository:&lt;/strong&gt; &lt;a href="https://github.com/aposb/stereo-algorithms-evolution" rel="noopener noreferrer"&gt;Basic Stereo Algorithms (Evolution)&lt;/a&gt;&lt;/p&gt;

</description>
      <category>computervision</category>
      <category>opensource</category>
      <category>python</category>
      <category>matlab</category>
    </item>
    <item>
      <title>Stereo Matching Algorithms in MATLAB and Python</title>
      <dc:creator>aposb</dc:creator>
      <pubDate>Tue, 03 Feb 2026 13:33:34 +0000</pubDate>
      <link>https://dev.to/apostbollas/stereo-matching-algorithms-in-matlab-and-python-58jb</link>
      <guid>https://dev.to/apostbollas/stereo-matching-algorithms-in-matlab-and-python-58jb</guid>
      <description>&lt;p&gt;Stereo matching is a core problem in computer vision, and performance matters, especially when working with large images or real-time systems. In this post, I’m sharing a set of &lt;strong&gt;fast, optimized stereo matching algorithms implemented in MATLAB and Python&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  What's Included
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Two versions of &lt;strong&gt;Block Matching&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Two versions of &lt;strong&gt;Dynamic Programming&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Semi-Global Matching&lt;/strong&gt; and &lt;strong&gt;Semi-Global Block Matching&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Three versions of &lt;strong&gt;Belief Propagation&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All algorithms are available in: &lt;a href="https://github.com/aposb/stereo-matching-algorithms" rel="noopener noreferrer"&gt;Stereo Matching Algorithms in MATLAB and Python&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Example Outputs
&lt;/h3&gt;

&lt;p&gt;The algorithms are tested using the &lt;strong&gt;Tsukuba stereo image&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Here are the resulting &lt;strong&gt;disparity maps&lt;/strong&gt; generated by each method.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Block Matching&lt;/strong&gt; using Sum of Absolute Differences&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4b61i3ahe1jnglb4ae81.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4b61i3ahe1jnglb4ae81.png" alt="Block Matching Disparity Map 1" width="384" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Block Matching&lt;/strong&gt; using Census Transformation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo52yp81usv4ru3jruue3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo52yp81usv4ru3jruue3.png" alt="Block Matching Disparity Map 2" width="384" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic Programming&lt;/strong&gt; with Left-Right Axes DSI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F532vwialfm2yhgowddk7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F532vwialfm2yhgowddk7.png" alt="Dynamic Programming Disparity Map 1" width="384" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic Programming&lt;/strong&gt; with Left-Disparity Axes DSI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq8j5yqg3u8tqqs1la9xz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq8j5yqg3u8tqqs1la9xz.png" alt="Dynamic Programming Disparity Map 2" width="384" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Semi-Global Matching&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0zdtzb7qa35l3ivlsbeb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0zdtzb7qa35l3ivlsbeb.png" alt="Semi-Global Matching Disparity Map" width="384" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Semi-Global Block Matching&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faxvgj3klgeqv4wdij0dl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faxvgj3klgeqv4wdij0dl.png" alt="Semi-Global Block Matching Disparity Map" width="384" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Belief Propagation&lt;/strong&gt; with &lt;em&gt;Accelerated&lt;/em&gt; Message Update Schedule&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6g1rxem2yggv12z3rsp3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6g1rxem2yggv12z3rsp3.png" alt="Belief Propagation Disparity Map 1" width="384" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Belief Propagation&lt;/strong&gt; with &lt;em&gt;Synchronous&lt;/em&gt; Message Update Schedule&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk5gmgrkuiqhjq2dxl86j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk5gmgrkuiqhjq2dxl86j.png" alt="Belief Propagation Disparity Map 2" width="384" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There is also a second approach to Belief Propagation with &lt;em&gt;Synchronous&lt;/em&gt; Message Update Schedule, which produces the same result.&lt;/p&gt;

</description>
      <category>computervision</category>
      <category>opensource</category>
      <category>python</category>
      <category>matlab</category>
    </item>
    <item>
      <title>Integrating OpenCV (C++) with Visual Studio 2019 - the proper way</title>
      <dc:creator>aposb</dc:creator>
      <pubDate>Wed, 02 Jul 2025 09:12:01 +0000</pubDate>
      <link>https://dev.to/apostbollas/integrating-opencv-c-with-visual-studio-2019-fff</link>
      <guid>https://dev.to/apostbollas/integrating-opencv-c-with-visual-studio-2019-fff</guid>
      <description>&lt;p&gt;In this post, I will set up OpenCV v4.10.0 on Windows 10 and create a demo C++ project to demonstrate how to integrate OpenCV with Visual Studio 2019.&lt;/p&gt;




&lt;h2&gt;
  
  
  Setup OpenCV
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Download
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Go to the OpenCV releases page (&lt;a href="https://opencv.org/releases/" rel="noopener noreferrer"&gt;https://opencv.org/releases/&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Find version &lt;strong&gt;4.10.0&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Windows&lt;/strong&gt; to download the installer.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Install
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Run the installer.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Specify "C:\" as the installation path.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After installation, a new folder named &lt;strong&gt;opencv&lt;/strong&gt; should appear in "C:\".&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Set Environment Variables
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Open &lt;strong&gt;Advanced System Properties&lt;/strong&gt; in Windows 10.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Environment Variables...&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a new system variable named &lt;strong&gt;OPENCV_DIR&lt;/strong&gt; with the value: &lt;strong&gt;&lt;code&gt;C:\opencv\build\x64\vc16&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0sru977t9416uippvkzq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0sru977t9416uippvkzq.png" alt="Create system variable " width="800" height="230"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the system variable &lt;strong&gt;Path&lt;/strong&gt;, add: &lt;strong&gt;&lt;code&gt;%OPENCV_DIR%\bin&lt;/code&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdps5zheonyt63ztax4my.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdps5zheonyt63ztax4my.png" alt="Edit system variable " width="752" height="827"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Create the Demo Project
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. New Project
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Create a new project in Visual Studio.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Set the programming language to &lt;strong&gt;C++&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;From the filtered list, select &lt;strong&gt;Console App&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Project Properties
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Open the &lt;strong&gt;Property Pages&lt;/strong&gt; window (&lt;strong&gt;Project &amp;gt; Properties&lt;/strong&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Debug configuration:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Set &lt;strong&gt;Configuration&lt;/strong&gt; to &lt;strong&gt;Debug&lt;/strong&gt; and &lt;strong&gt;Platform&lt;/strong&gt; to &lt;strong&gt;x64&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In &lt;strong&gt;C/C++ &amp;gt; General&lt;/strong&gt;, under &lt;strong&gt;Additional Include Directories&lt;/strong&gt;, add: &lt;strong&gt;&lt;code&gt;$(OPENCV_DIR)\..\..\include&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fckwr6evjmpnnqdckmokh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fckwr6evjmpnnqdckmokh.png" alt="Additional Include Directories" width="800" height="555"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In &lt;strong&gt;Linker &amp;gt; General&lt;/strong&gt;, under &lt;strong&gt;Additional Library Directories&lt;/strong&gt;, add: &lt;strong&gt;&lt;code&gt;$(OPENCV_DIR)\lib&lt;/code&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvicil3q3ntuublq1okg5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvicil3q3ntuublq1okg5.png" alt="Additional Library Directories" width="800" height="555"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In &lt;strong&gt;Linker &amp;gt; Input&lt;/strong&gt;, under &lt;strong&gt;Additional Dependencies&lt;/strong&gt;, add: &lt;strong&gt;&lt;code&gt;opencv_world4100d.lib;&lt;/code&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo1h4qtxg9y8hxi0bkvew.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo1h4qtxg9y8hxi0bkvew.png" alt="Additional Dependencies" width="800" height="555"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click &lt;strong&gt;Apply&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Release configuration:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Set &lt;strong&gt;Configuration&lt;/strong&gt; to &lt;strong&gt;Release&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Repeat the same steps for include and library directories.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In &lt;strong&gt;Linker &amp;gt; Input&lt;/strong&gt;, under &lt;strong&gt;Additional Dependencies&lt;/strong&gt;, add: &lt;strong&gt;&lt;code&gt;opencv_world4100.lib;&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Apply&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Finally, in the &lt;strong&gt;Configuration Manager&lt;/strong&gt;, remove the &lt;strong&gt;x86 (Win32)&lt;/strong&gt; platform.&lt;/p&gt;




&lt;h2&gt;
  
  
  Run the Program
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Replace the default project code with the sample code below.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#include &amp;lt;opencv2/opencv.hpp&amp;gt;

using namespace cv;

int main()
{
    Mat image = Mat::zeros(300, 600, CV_8UC3);
    circle(image, Point(250, 150), 100, Scalar(0, 255, 128), -100);
    circle(image, Point(350, 150), 100, Scalar(255, 255, 255), -100);
    imshow("Display Window", image);
    waitKey(0);
    return 0;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Build and run the project. If everything is set up correctly, a window should appear.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F814p4sbrqxmg61jtuoy5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F814p4sbrqxmg61jtuoy5.png" alt="Display Window" width="800" height="441"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://docs.opencv.org/4.x/d3/d52/tutorial_windows_install.html" rel="noopener noreferrer"&gt;OpenCV: Installation in Windows&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://docs.opencv.org/4.x/dd/d6e/tutorial_windows_visual_studio_opencv.html" rel="noopener noreferrer"&gt;OpenCV: How to build applications with OpenCV inside the "Microsoft Visual Studio"&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://sh-tsang.medium.com/tutorial-opencv-v4-2-0-installation-in-windows-10-eca7c2c8c300" rel="noopener noreferrer"&gt;Tutorial: OpenCV v4.2.0 Installation in Windows 10&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>opencv</category>
      <category>cpp</category>
      <category>tutorial</category>
      <category>howto</category>
    </item>
  </channel>
</rss>
