Using OpenCV.js to find edges in video

The edges detected around my cat
The edges detected around my cat
The edges detected around my cat. Image produced by author.

Edge detection is a fundamental tool in computer vision. By using sharp contrasts in brightness, general outlines and shapes can be found in an image. Often used as a filter to find distinctions between items in a photo, edge detection offers a first stepping stone into object recognition.

OpenCV offers a wide range of computer vision tools in C++, Java, Python, and JavaScript. Among them include an edge detection algorithm using the Canny method. Built with performance in mind, OpenCV’s implementation of edge detection can be interfaced with real time video with little to no noticeable latency.

While many examples and tutorials exist in Python, there are fewer in JavaScript. With the increase portability of web technologies, now taking over space in desktop applications and even phone apps, it makes sense to cover the basics of using OpenCV in a web application. …

Employing NumPy to Optimize Python Code

Image for post
Image for post
Photo by 𝓴𝓘𝓡𝓚 𝕝𝔸𝕀 on Unsplash

While Python remains easy to use, quick to learn, and offers an overabundance of external libraries that can do almost anything, it has one critical weakness: it’s slow.

Of course, to the human eye, its sluggishness seems negligible. Usually Python only lags behind other programming languages by milliseconds; however, when iterating over millions or even billions of data points, it quickly adds up.

NumPy offers a unique solution. While allowing users to still write Python, it converts it into well written C code specifically optimized for numerical analysis.

Using NumPy arrays can increase a script’s performance by one or two magnitudes with very little learning curve. …

An Explanation for Splitting Data into Training and Testing Sets

Image for post
Image for post
Photo by Isaac Smith on Unsplash

On my first job out of college, I was tasked with streamlining how a company made purchases. While a big project that encompassed many factors, such as lead times and order quantities, the most challenging part was determining how many units would sell over time.

With lead times in excess of 2 or 3 months, I needed to accurately predict if a certain product would run out before a new shipment came. It was a balancing act, because if I underpredicted how much product would sell, the company would run out and lose sales. …

A Quick Guide on Writing your Own tl;dr

Image for post
Image for post
Photo by Aaron Burden on Unsplash

Project Gutenberg offers over 60,000 full length books. Wikipedia contains over 55 million unique articles. Wattpad has over 400 million short stories. In the age of the internet, there is no shortage of literature to read.

These numbers, however, are completely overwhelming. A person could spend a lifetime attempting to read the entirety of the internet and never scratch more than a fraction of the surface.

The ocean of written material creates a paradoxical problem: because there’s an overabundance of information, finding relevant information becomes more difficult.

Automatically generating text summarizations may help the problem. Instead of leaving users to skim through large walls of text, presenting a brief summary provides the user with key pieces of information so they can make a more informed decision to continue reading without wasting the time to parse the text themselves. …

An introduction with a Python example

Image for post
Image for post
Photo by Jon Tyson on Unsplash

K-Nearest Neighbor Algorithm

K-Nearest Neighbor (KNN) is an easy to understand, but essential and broadly applicable supervised machine learning technique. To understand the intuition behind KNN, examine the scatterplot below. The plot shows the relationship between two arbitrary dimensions, x and y. The blue points represent members of group A and the orange points represent the members of group B. This will represent the training data for KNN.

A Primer with a Real World Demonstration

Image for post
Image for post
Photo by Pineapple Supply Co. on Unsplash

Retailers have access to an unprecedented amount of shopper transactions. As shopping habits have become more electronic, records of every purchase are neatly stored in databases, ready to be read and analyzed. With such an arsenal of data at their disposal, they can uncover patterns of consumer behavior.

What is Market Basket Analysis?

A market basket analysis is a set of affinity calculations meant to determine which items sell together. For example, a grocery store may use market basket analysis to determine that consumers typically buy both hot dogs and hot dog buns together.

If you’ve ever gone onto an online retailer’s website, you’ve probably seen a recommendation on a product’s page phrased as “Customers who bought this item also bought” or “Customers buy these together”. More than likely, the online retailer performed some sort of market basket analysis to link the products together. …

How to Create an Electron-Like App with Python

Image for post
Image for post
Photo by Carl Heyerdahl on Unsplash

From web development to data science, Python offers an incredibly diverse set of tools. Its easy-to-read syntax and quick learning curve makes it a popular language but it lacks the diverse and beautiful GUI support of web technologies. Anyone who’s used Flask, a popular and lightweight web framework, has probably wondered if they could take the same principles and apply them to desktop app development. The temptation of combining an HTML and CSS frontend with a Python backend is alluring,

A few libraries attempt to achieve this, but lack the customization options and don’t have a large community. …

Writing a News Article Recommender to Reduce Polarization and Radicalization

Image for post
Image for post
Photo by Matthew Guay on Unsplash

The popular Netflix documentary, The Social Dilemma, outlines many of the fundamental problems of social media. The film explores how the technology used by many platforms don’t necessarily align to user interests.

In theory, social media companies can create data-driven systems to deliver interesting and engaging content to users. Normally, this is a feature meant to filter irrelevant content, but in practice, it ensures nobody is confronted with opposing views if they don’t want to see them.

As people become increasingly polarized by the content they see online, it’s imperative that social media find a balance between delivering engaging content and actively driving users away from reality. …

A Python library for making high quality static maps

Image for post
Image for post
Photo by Capturing the human heart. on Unsplash

With the age of big data comes the age of big geospatial data. Researchers increasingly have access to geographic information which can do anything from track the migration patterns of endangered species to map every donut shop in the country.

To help visualize this information, the python library Cartopy can create professional and publishable maps with only a few lines of code. Built with Matplotlib in mind, its syntax is familiar and easy to understand.

Simple Maps

To start, we’ll create the simplest possible world map. Before writing any heavy code, the Cartopy and Matplotlib libraries in python should be installed.

import as crs
import cartopy.feature as cfeature
import matplotlib.pyplot as…

A Practical Application of Clustering in Creating Recommendations

Image for post
Image for post
Photo by Malte Wingen on Unsplash

Spotify presents no shortage of playlists to offer. On my home page right now, I see playlists for: Rap Caviar, Hot Country, Pump Pop, and many others that span all sorts of musical textures.

While many users enjoy going through songs and creating their own playlists based on their own tastes, I wanted to do something different. I used an unsupervised learning technique to find closely related music and create its own playlists.

The algorithm doesn’t need to classify every song nor does every playlist need to be perfect. …


Andrew Udell

Data Science Enthusiast | Code Junkie | Lifelong Student

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store