Hacker News new | ask | show | jobs
by oivey 2162 days ago
Images and matrices are 2D data structures of numbers, but that is where the similarities end. An image is more like a vector, which matrices can be applied to. You would never matrix multiply an image onto another vector. Still, it isn’t uncommon to visualize matrices as images.
2 comments

Well a matrix is a collection of vectors so... I guess I somewhat agree.. You can certainly apply projections to images, I mean this is what photoshop does.
> Well a matrix is a collection of vectors so

That's like saying "a matrix is a collection of real numbers, so anything you say about one applies to the other".

> You can certainly apply projections to images, I mean this is what photoshop does.

This doesn't seem to refer to anything in the comment you're replying to.

Would you please elaborate on your last point?
In reply to a comment that said nothing about projections, you wrote:

> You can certainly apply projections to images, I mean this is what photoshop does.

What's the relationship of this to anything in the comment you replied to?

"You would never matrix multiply an image onto another vector."
> "You would never matrix multiply an image onto another vector."

That wasn't me. But I can still elaborate: while you can certainly consider a non-color image as a matrix, the operation of multiplying this matrix with a vector is rather meaningless.

While a lot of things can be made into or viewed as matrices, a matrix is typically only meaningful as a representation of a linear map.

Even if you never matrix multiply with an image, it's still useful to have it in matrix form for other things like PCA/SVD.
Typical use on PCA/SVD on image, what you do is treat each image as a vector, create a matrix out of a collection of images, and then do PCA/SVD on the matrix to analyze the distribution of the images, normalize, get the eigen-images (principal components), etc.
Yeah, in retrospect that seems like the way to do it. The toy examples I learned from in college did it on a single image split up by row, but I can’t think of a great use case for that besides some naive compression.