Install OpenCV 4.5.5 from Source in Xubuntu 20.04

For some reasons, I have to install OpenCV from source in my Xubuntu 20.04. To me, the tricky part was the options for CMake. Here I share my settings and the reason why I need them. Install required packages Source: How to Install OpenCV on Ubuntu 20.04 sudo apt install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \ gfortran openexr libatlas-base-dev python3-dev python3-numpy \ libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev \ libgstreamer-plugins-base1. [Read More]

Workflow of Pull Request using Git

Recently I was really lucky to push two pull requests [1] to the great Streamlit - Drawable Canvas repo and both of them had been merged. I said I was lucky because this is my first time to do PR to other developer’s project. The project creator Fanilo Andrianasolo is nice and instructive, who helped me to overcome the barriers during the working process. Because I am totally unfamiliar with Typescript and most of the frontend technologies, without his kind help I won’t make my contribution to the project. [Read More]

Some Information for OpenVINO on ARM boards

(This post is a simple note for further reference.)

I have tried to install OpenVINO on Raspberry Pi Zero W but failed. After searching, I started to be aware of something about ARM architectures.

RPi0W use armv6 architecture, OpenVINO cannot be installed with it.

Here are some might-be-useful links for installing OpenVINO on ARM boards:

Revisit the Coral Dev Board

Quite a while ago, I tried to setup the Coral Dev Board but failed. This time I follow the guide again and get the setup done, but still encounter some problems. Here is an imcomplete note of my test. Hope I could find some time to make it useful to my projects… Reflash the board Downloaded image: enterprise-eagle-20200724205123.zip Cannot run the default demos The document Run a demo with the camera read: [Read More]

Find Identical Images in a Directory using Python and OpenCV

Code: identical_image_checker I was labelling images to fine-tune the object detection model. Of course occasionally you might find funny samples in these images, but overall it’s still a tedious work that will make you dizzy and feel less and less confident of what you’re doing. There were 1,526 images in my labelling folder. I have labelled them in these months on and off. Sometimes I would stared at the image and had a feeling that “Wait, I’ve labelled this one before… Haven’t I? [Read More]

Mount Hard Disk Drives with Labels

Several months ago, I added two portable hard disk drives to my Lubuntu PC for data backup. One has the storage capacity of 1 TB and another is 2 TB. Lubuntu mounts them automatically with the name of Transcend and Transcend1, respectively. The auto-mounting was great but the meaningless naming was absolutely not. I always got confused about which one was which when I was checking data in these two HDDs, but I had put the issue off until now. [Read More]

A Simple Guidance to Use Hugo in GitLab Pages (2/2)

This is the second part of “A Simple Guidance to Use Hugo in GitLab Pages.” The first part is here: A Simple Guidance to Use Hugo in GitLab Pages (1/2) TL;DR Set up in GitLab Pages is one thing; how to fine-tune your blog and edit/update your posts is another. Here are the files for you to fine-tune your blog to personal need: config.toml controls which component will appear on your blog. [Read More]

A Simple Guidance to Use Hugo in GitLab Pages (1/2)

People said that it’s easy! But I felt dumb when trying GitHub/GitLab Pages… TL;DR I was struggling to set up my blog using GitHub/GitLab Pages. Recently I successfully using GitLab Pages and Hugo to build my blog. The main steps are: Fork Hugo example project. Go to ⚙️ Settings > General > Advanced > Change path and change hugo to username.gitlab.io. In the forked repo, change the first line of config. [Read More]

Using Bilateral Filter with Webcam

cv2.bilateralFilter(src, d, sigmaColor, sigmaSpace[, dst[, borderType]]) If you want to apply cv2.bilaterFilter() in near real-time applications such as using webcam or read video stream as the image input, here’re some tricks: The value of sigmaSpace should be kept as small as possible. When using sigmaSpace larger than 5, for example, with 640x480 input size, the processing time will make your application extremely laggy. Or you can scale down the original image to apply bilateralFilter on, so that the bilateral filter can process the smaller input faster. [Read More]