DEV Community

Cover image for Do facials *really* work? I tried coding my wrinkles… and wow.
Justina Ockoner
Justina Ockoner

Posted on

Do facials *really* work? I tried coding my wrinkles… and wow.

Okay, let me paint you a scene. One morning, I'm brushing my teeth, and I catch my reflection in just the wrong light. I swear I saw a crease on my forehead that wasn’t there yesterday. So naturally, I did what any self-respecting millennial would: I Googled “Do facials actually help with wrinkles?”—and then promptly got distracted and opened a Jupyter Notebook.

Yeah… this is the story of how I mixed skincare with Python. You’ve been warned.


So here’s what I did (don’t judge): I wrote code to detect my own wrinkles.

You know that mix of curiosity and low-key panic when you see your first real sign of aging? I had that. But I also had OpenCV installed. And that combo led to a wild Sunday project: building a wrinkle detector using a photo of my face.


Wrinkles, facials, and filters—what's actually real?

Let’s break this down in real-talk, not science-jargon. Here's the stuff I learned while balancing between skincare blogs and GitHub repos:

  1. Wrinkles are just shadows. Seriously. They’re not always permanent. Lighting and angle play tricks.
  2. Facials aren’t magic—but they can help. Especially if they boost collagen and clean out your pores.
  3. Image processing doesn’t lie (much). You can’t fool the Sobel filter.
  4. A wrinkle is basically a line with lower contrast. You can highlight these areas by detecting edges and shadows.
  5. Your skin needs TLC, not just tech. More on that in a bit.

How to (kinda) detect wrinkles with OpenCV

I’m no dermatologist, but here’s the full Python recipe I used for wrinkle detection.

Step-by-step Python code

import cv2
import numpy as np
import matplotlib.pyplot as plt

# Load the image in grayscale
img = cv2.imread('selfie.jpg', cv2.IMREAD_GRAYSCALE)
if img is None:
    raise ValueError("Make sure the image path is correct!")

# Resize for faster processing (optional)
img = cv2.resize(img, (600, 800))

# Step 1: Smooth the image to reduce noise
blurred = cv2.GaussianBlur(img, (5, 5), 0)

# Step 2: Use the Canny edge detector to find fine lines (possible wrinkles)
edges = cv2.Canny(blurred, threshold1=30, threshold2=150)

# Step 3: Optional – use morphological operations to enhance wrinkle lines
kernel = np.ones((2, 2), np.uint8)
dilated = cv2.dilate(edges, kernel, iterations=1)

# Step 4: Combine edge map with the original image for visualization
combined = cv2.addWeighted(img, 0.8, dilated, 0.5, 0)

# Step 5: Display results
cv2.imshow('Original Image', img)
cv2.imshow('Detected Wrinkles (Edges)', edges)
cv2.imshow('Enhanced Wrinkles', dilated)
cv2.imshow('Combined Result', combined)
cv2.waitKey(0)
cv2.destroyAllWindows()
Enter fullscreen mode Exit fullscreen mode

This setup is very basic, but it gives you a cool way to visualize texture changes that might correlate to fine lines or wrinkles. It’s not medical-grade—just a fun experiment.


So... do facials help?

Honestly? I used to be skeptical. But after trying one (thanks to a birthday gift card), I noticed real changes. Hydrated skin, smoother texture, and even that “post-glow” thing influencers talk about.

If you’re local, I’d say look into Facials Chrysler Village IL—I only went once, but the esthetician explained so much about skin hydration and why techy stuff like serums actually matter.

Also, if you’re into more advanced treatments, I met someone in the waiting room who swore by nano needling in Chrysler Village for fine lines and texture. Not needles-needles, but more like micro-exfoliation meets vitamin infusion. She looked amazing, so... maybe?

Oh, and don’t even get me started on Chrysler Village microneedling. That’s next on my experimental skincare list. Apparently, it helps your skin rebuild itself from the inside out—kinda like defragging your hard drive, but for your face.


Quick wins from my code + skincare side quest

  • Your camera sees way more than you do in the mirror.
  • You don’t need fancy AI—just Canny edges and some curiosity.
  • Hydrated skin reflects light better, so wrinkles look softer.
  • Exfoliation (manual or with code) reveals details we usually ignore.
  • Comparing “before and after” with filters gives perspective. So do facials, by the way.

Final thoughts (and your gentle nudge)

If you're even slightly curious about whether your skin could look better—or just wanna geek out with image processing—try this. Whether it’s running Python on your selfie or booking a facial, it’s all about paying attention to the details.

Give it a try this week—you’ll see. 😉

Top comments (0)