<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>BCV on WANG Zhaofeng · Course Portfolio</title><link>https://zzefone.github.io/myblog/categories/bcv/</link><description>Recent content in BCV on WANG Zhaofeng · Course Portfolio</description><generator>Hugo</generator><language>en</language><lastBuildDate>Mon, 19 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://zzefone.github.io/myblog/categories/bcv/index.xml" rel="self" type="application/rss+xml"/><item><title>Planar AR: matching a marker and replacing it</title><link>https://zzefone.github.io/myblog/posts/bcv-marker-based-ar/</link><pubDate>Sat, 17 Oct 2026 00:00:00 +0000</pubDate><guid>https://zzefone.github.io/myblog/posts/bcv-marker-based-ar/</guid><description>&lt;p&gt;A reference image, a camera frame and a replacement image. The BCV final project is to find the first image in the frame and put the replacement in the same position. I tested the code on generated scenes, then on the marker displayed on a phone in front of the integrated webcam.&lt;/p&gt;&#10;&lt;h2 id="the-matching-pipeline"&gt;&#10; The matching pipeline&#10; &lt;a class="heading-link" href="#the-matching-pipeline"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;SIFT is the default, with ORB available in the GUI. Both use brute-force kNN matching with two neighbours. A ratio test removes ambiguous matches, and RANSAC estimates the homography from the remaining pairs.&lt;/p&gt;</description></item><item><title>Edge detection: gradients and Laplacian zero crossings</title><link>https://zzefone.github.io/myblog/posts/bcv-edge-detection/</link><pubDate>Sun, 11 Oct 2026 00:00:00 +0000</pubDate><guid>https://zzefone.github.io/myblog/posts/bcv-edge-detection/</guid><description>&lt;p&gt;The same photograph can give quite different edge maps. For this BCV lab, I compared a gradient detector with a Laplacian zero-crossing detector. The teacher&amp;rsquo;s notebooks weren&amp;rsquo;t available, so these results come from an independent Python implementation.&lt;/p&gt;&#10;&lt;p&gt;Both methods start with grayscale conversion and Gaussian smoothing. The gradient pipeline uses Sobel derivatives, thinning and hysteresis. The Laplacian pipeline looks for sign changes in the filtered response. Small fragments are removed at the end.&lt;/p&gt;</description></item></channel></rss>