I do not understand how the contraposition "all non-black objects are not ravens" is logically identical to "all ravens are black." I see that IF all ravens are black, THEN all non-black objects are not ravens. But I fail to see how IF all non-black objects are not ravens, THEN (necessarily) all ravens are black. Suppose I say "all unicorns are white." The contraposition, "all non-white objects are not unicorns," is obviously true. However, it does not seem to follow from "all non-white objects are not unicorns" that "all unicorns are white." If that were the case, I could also say "all non-blue objects are not unicorns," which is true because there are no unicorns, and therefore it must be true that "all unicorns are blue." This is a contradiction, since we have already said that all unicorns are white.
You could make the case that, there being no unicorns, all unicorns actually are blue and are white. But then I am not able to posit any imaginary object with any specific traits, because any object that doesn't exist in the real world will have all traits, and therefore they will all be the same.
Part of the problem here comes from mixing abstract concepts with real-world objects. When we say "all ravens are black," how do we know what a raven is? It seems that any definition must break down into a series of statements of the same form ("all ravens are..."), which are then subject to empirical validation, which ultimately means we have to define a raven before we can make a statement about what constitutes a raven. This is quite different from how math works, where we can define a square in certain terms and be sure that it is always true because of how we defined it.
But my particular concern is the logical equivalency of a statement and its contraposition, which does not seem correct in the case where the object in question does not exist. If the two statements are not always and everywhere equivalent, then they can't be substituted for one another. For that reason, non-black objects that aren't ravens cannot be considered to confirm the notion that all ravens are black.
If all non-black objects are not ravens, then any raven that isn't black would be a contradiction, so all ravens are black.
Another way to understand this is to write "all ravens are black" in predicate logic as $\forall x(Rx\to Bx)$ (i.e. for all $x$, if $x$ is a raven then $x$ is black), and similarly write "all non-black $x$ are non-ravens" as $\forall x(\neg Bx\to\neg Rx)$. These are equivalent because $Rx\to Bx$ is equivalent to $\neg Bx\to\neg Rx$.
Note that $p\to q$ just means $p$ is false and/or $q$ is true; the $\to$ doesn't have any cause/effect meaning. Therefore, you can prove the one-$x$ equivalence with a truth table.