The perfect computer vision environment: PyCharm, OpenCV, and Python virtual...
You know what makes for a (not so) fun weekend? Reconfiguring and reinstalling OSX on your MacBook Pro. Apparently, the 13in MacBook Pro that I use when I’m traveling decided to shit the bed. No...
View ArticleHow to find functions by name in OpenCV
OpenCV can be a big, hard to navigate library, especially if you are just getting started learning computer vision and image processing. The release of OpenCV 3 has only further complicated matters,...
View ArticleBlur detection with OpenCV
Between myself and my father, Jemma, the super-sweet, hyper-active, extra-loving family beagle may be the most photographed dog of all time. Since we got her as a 8-week old puppy, to now, just under...
View ArticleBall Tracking with OpenCV
Today marks the 100th blog post on PyImageSearch. 100 posts. It’s hard to believe it, but it’s true. When I started PyImageSearch back in January of 2014, I had no idea what the blog would turn into....
View ArticleOpenCV Track Object Movement
This past Saturday, I was caught in the grips of childhood nostalgia, so I busted out my PlayStation 1 and my original copy of Final Fantasy VII. As a kid in late middle school/early high school, I...
View ArticleImplementing the Max RGB filter in OpenCV
Today’s blog post comes straight out of the PyImageSearch Gurus course. Inside PyImageSearch Gurus we have a community page (much like a combination of forums + Q&A + StackOverflow) where we...
View ArticleOpenCV Gamma Correction
Did you know that the human eye perceives color and luminance differently than the sensor on your smartphone or digital camera? You see, when twice the number of photons hit the sensor of a digital...
View ArticleScraping images with Python and Scrapy
Since this is a computer vision and OpenCV blog, you might be wondering: “Hey Adrian, why in the world are you talking about scraping images?” Great question. The reason is because image acquisition is...
View ArticleAnalyzing 91 years of Time magazine covers for visual trends
Today’s blog post will build on what we learned from last week: how to construct an image scraper using Python + Scrapy to scrape ~4,000 Time magazine cover images. So now that we have this dataset,...
View ArticleHow to install OpenCV 3 on Raspbian Jessie
A few weeks ago Raspbian Jessie was released, bringing in a ton of new, great features. However, the update to Jessie also broke the previous OpenCV + Python install instructions for Raspbian Wheezy:...
View ArticleWatershed OpenCV
The watershed algorithm is a classic algorithm used for segmentation and is especially useful when extracting touching or overlapping objects in images, such as the coins in the figure above. Using...
View ArticlePedestrian Detection OpenCV
I’ve met a lot of amazing, uplifting people over the years. My PhD advisor who helped get me through graduate school. My father who was always there for me as a kid — and still is now. And my...
View ArticleHOG detectMultiScale parameters explained
Last week we discussed how to use OpenCV and Python to perform pedestrian detection. To accomplish this, we leveraged the built-in HOG + Linear SVM detector that OpenCV ships with, allowing us to...
View ArticleDetecting machine-readable zones in passport images
Today’s blog post wouldn’t be possible without PyImageSearch Gurus member, Hans Boone. Hans is working on a computer vision project to automatically detect Machine-readable Zones (MRZs) in passport...
View ArticleLocal Binary Patterns with Python & OpenCV
Well. I’ll just come right out and say it. Today is my 27th birthday. As a kid I was always super excited about my birthday. It was another year closer to being able to drive a car. Go to R rated...
View ArticleInstalling OpenCV on your Raspberry Pi Zero
In this blog post I’ll demonstrate how to install OpenCV 3 on the Raspberry Pi Zero. Since I’ve covered how to install OpenCV on the Raspberry Pi in multiple, previous blog posts, I’ll keep this post...
View ArticleIncreasing webcam FPS with Python and OpenCV
Over the next few weeks, I’ll be doing a series of blog posts on how to improve your frames per second (FPS) from your webcam using Python, OpenCV, and threading. Using threading to handle I/O-heavy...
View ArticleIncreasing Raspberry Pi FPS with Python and OpenCV
Today is the second post in our three part series on milking every last bit of performance out of your webcam or Raspberry Pi camera. Last week we discussed how to: Increase the FPS rate of our video...
View ArticleUnifying picamera and cv2.VideoCapture into a single class with OpenCV
Over the past two weeks on the PyImageSearch blog, we have discussed how to use threading to increase our FPS processing rate on both built-in/USB webcams, along with the Raspberry Pi camera module....
View ArticleOpenCV panorama stitching
In today’s blog post, I’ll demonstrate how to perform image stitching and panorama construction using Python and OpenCV. Given two images, we’ll “stitch” them together to create a simple panorama, as...
View Article