Welcome to Learning Julia! Follow me in my journey in learning the Julia programming language. Read the latest posts here, or start with the very first post and read them all the way through!


  • Image Stitching: Part 1

    This is Part 1 of 2 in my posts about how to stitch two images together using Julia. It’s rough around the edges, since I’m learning how to do this myself. In Part 1 I talk about finding keypoints, descriptors, and matching two images together. Next time, I’ll talk about how to estimate the image transformation and how to actually do the stitching.

  • imfilter and arrays

    Whereas in my last post I manually wrote a blur kernel and code to convolve an image, I didn’t want to do that every time an image convolution came up. So in this post I learned about the imfilter function from the ImageFiltering.jl package. I also learned about the @time macro and had a small aside on array creation.

  • Blurring and manipulation

    Now that I’ve been able to load an image and play with some colors, I wanted to implement some basic image manipulation functionality: blurring. To handle out-of-bounds errors when back-projecting to the input image, I learned about image overloading, played with the Interpolations.jl package, and generated some really trippy mirror art.

  • Image tilings and arrays

    In this notebook I decided to get more familiar with Julia basic functions, arrays, and operations by giving myself a small computational photography challenge! And on a suggestion, I played with the Interact.jl package too.

  • Getting started with images

    To get started with Julia, I wanted to learn more about the ecosystem of image support in Julia. Until now, my tools of choice for manipulating images was numpy in Python and OpenCV. Instead, Julia has the JuliaImages ecosystem of packages for image support.

  • Launching Learning Julia

    I am launching this blog to document and share my experience learning the Julia programming language. My learning style is to learn by doing - I’m sure the things I do at first will be wrong, against code style, and inefficient. But that is the best way to learn: you try something out, realize it doesn’t work, and end up learning something.

subscribe via RSS