Some content in this video is not
covered under our Creative Commons license.
See the closing credits for more information.
SARA JAMES: Hello my name is Sara James.
I've been working the past seven years
at MIT Lincoln Laboratory, doing radar signal processing.
Today, I'm here to tell you about the image processing
workshop of the girls who build.
So the image processing section of this workshop
is actually done with a software called Processing.
Processing is open source, free, and it's
available at Processing.org to download, for just
about any sort of operating system that you can think of.
This software is actually developed
for people that are not doing coding, day to day.
During this section of the workshop
we're trying to expose participants
to image processing concepts, within the context
of real world applications.
Furthermore, we're trying to demystify coding, and show
participants that they can do this too.
You'll be doing four exercises.
The first being an Instagram filter.
For the Instagram filter this will
be adding an overlay where you can change the RGB values.
Next you'll be flipping an image.
This will be a flip that's vertical,
and during this you'll be actually moving
around the individual pixels.
After this, you will convert a color image
to a different color scheme.
So you'll take something, and convert it to one single color.
This involves modifying the individual color values
for every pixel.
For the last exercise, which is the vignette,
this is adding a border to the picture.
The way that this is performed, is by doing a mask overlay.
Before you just jump into having the girls doing
the fill in the blank exercises, it's highly recommended
to go over the four processing components of any processing
program.
The first is variable Declaration:
this is where you initialize something
as being a PImage or perhaps a Boolean,
depending on the exercise.
Next is the setup.
The setup is where you generally load in images
and initialize the various settings for a program.
After that you'll have a Draw.
Draw is where you actually produce the frame
that you'll see.
Lastly you'll have, in some of the exercises, Mouseclicked.
And this is to handle mouse click events.
Before breaking the girls up into groups,
we had a image processing lecture,
that was specifically tailored towards the processing
language.
During this lecture, various fundamentals
of image processing were introduced
like color schemes-- for instance RGB
or things like HSBC-- in discussing brightness.
After the processing lecture, we broke up the girls
into groups of four, with one volunteer per group.
When the girls were broken up, they
were given their exercises.
These exercises were set up as fill in the blank activities.
The fill in the blank style was done
to level the playing field, so that people
with more or less experience with coding
would feel comfortable.
Time permitting-- and also dependent
on the experience level of the girls
that you're working with-- there's additional activities
that you can do, within the context of the four coding
exercises that have already been defined.
For the first one, for your build your own Instagram
filter, you can actually modify the RGB values
to change the overlay.
So this is something that's relatively easy to do,
and something that you should definitely
encourage the girls to do.
For the flip an image, you can actually change the way
that the images flip.
So in the exercises that we had, the image
is flipped vertically, but a more difficult thing
that you can ask the girls to do,
is to flip the image horizontally.
So within the convert an image to a single color,
you can actually ask the girls to manually convert
to grayscale.
For this activity, this is something
that's introduce the girls to the way that color is perceived
by humans.
For the add a vignette, one relatively easy thing
that you can ask the girls to do,
is vary the size and color of the vignette.
Lastly, and this is the most difficult,
you can actually ask the participants
to combine all elements, from all of the exercises.
This is something that is the most complex,
because it involves potentially changing
the way that the code was originally
run in the exercises.
So in terms of the lessons learned,
there are certain things that we did not
do, during girls who build, and in hindsight we
would have done, if we were to do this again.
One of the first things is actually
introducing the fundamentals of programming.
Things like introducing if statements,
while statements, what a Boolean is, things like that.
When we had done girls who build, we kind of just
jumped right into the exercises, after an image processing
lecture.
And that wasn't really enough preparation for the girls.
The first exercise was very difficult to get through.
That's another thing that you could potentially do.
If you have people that are not really experienced with coding,
feel free to go through the first exercise
together, and then have the students do the following three
exercises individually.
Each individual student had their own laptop,
don't think that this is something that you need to do.
You may find that having multiple students with only one
laptop will be sufficient, and actually might introduce them
to working in a group, and the type of collaboration that
entails.
Also along those lines.
If everyone has their own computer,
you might find that it's very isolating.
One thing that girls who build did not do,
but it's something that we may look into in the future,
is using some sort of collaborative editing software.
An example of this is TitanPad.
Whether you're a student or a teacher,
you may be asking yourself, what are the next steps?
The next steps could possibly be looking
into other coding languages.
Coding languages that you may want to look into include c++,
Java, or Python.
You'll find that, for instance, if you wanted
to build an Android app, there's communities
and resources available online for free.
That you can access.
Have fun with the image processing activity!
We'd love to hear about your experience.
Email:
Girls Who Build.
Girlswhobuild.org