How do I phrase "mistaking something for something" idiomatically in Latin? There is always a way around if one wants to explain (eg. "I mistook the cat for a dog" > Felem canem esse falso putabam), but I imagine there would be a Latin idiom for this purpose. I couldn't find a Latin translation of The Man Who Mistook His Wife for a Hat, and I'm out of ideas how to look for an idiom like this.
For your examples, I suggest :
Felem credidi canem esse, in which the mistake is implicit, or
Homo qui coniugem pro petaso finxit, 'the man who imagined that his wife was a hat'.