@Bianca: Thanks for the suggestion, I never came across that functions so perhaps I'll try to rebuild my function using this to play around with it a little bit, it sounds interesting.
@Sam: No real reason, I just wanted a way to browse the cats and figured fur color would be a sufficient way of doing this, it has no real application but there was a small programming event over the span of a weekend where you're meant to build something and after deciding to give wolfram a shot I chose to make this. I've actually finished the project so sorry about that but I will remember to post code in the future.
My finished project
CatSort=Partition[Column[{#, DominantColors[ImageCrop[#, {38,38}] ,1]},Alignment->Center]&/@(Take[,71]), 71];
Flatten[DominantColors[ImageCrop[#, {38,38}],1]&/@(Take[,71])]
Sort[CatSort]
Final= Flatten[Reverse@SortBy[GatherBy[CatSort[[1]],#[[1,2]]&],#[[1,1,2]]&] ]
Essentially because all cat pictures in the database are centered on the cat, I take the middle 38 pixels(This was the sweetspot I found where all cat colors were identified correctly, not too small of a window to get one fur hair of a different color, and small enough that the background color did not interfere for the smaller cats. I only took one DominantColor per cat as to keep things simple.)
I had the most trouble with nestling, the numerical RGB colors were what I was going to sort by(The R value specifically), and so there were two people there who showed me how to find the specific nestle the RGB was stored in, and how to both keep the colors and cats together while sorting only by color (This was tricky, I found a roundabout way on accident to gather the colors separately from the cats and sort those, but they showed me how to do this while keeping the cats+colors still paired.
This is probably really messy code but I'm just glad I found a way to make it work, I'll probably revisit it because there's a lot more I could learn about how data is stored in Wolfram.
Attachments: