From elisp documentation:
Emacs is usually able to display images when it is run on a graphical terminal. Images cannot be displayed in a text terminal, on certain graphical terminals that lack the support for this, or if Emacs is compiled without image support.
So the answer is no.

The ivy way
In short, I'm looking for a way for ivy-switch-buffer to filter buffer names through a user-given function before displaying them.
ivy calls such filters "display transformers" and stores them in the property list ivy--display-transformers-list. The intention is that the user or package author call ivy-set-display-transformer:
ivy-set-...

The question asked for a solution specific to ivy, but it should be pointed out that emacs-w3m has its own superior solution, w3m-select-buffer. When one's focus / point is in an emacs-w3m buffer, one can use the function using its default keybinding C-c C-s, but one can also use it from any emacs buffer by evaluating it explicitly, eg. M-x w3m-select-buffer....

You can install sx from melpa with M-x package-install RET sx RET
it is on: https://github.com/vermiculus/sx.el
quoting the site:
SX is a full-featured Stack Exchange mode for GNU Emacs 24+. Using the official API, it provides a versatile experience for the Stack Exchange network within Emacs itself.

You should be able to get the behaviour you want by setting the w3m-pop-up-windows variable to t. There's also w3m-pop-up-frames in case you want OS windows rather than Emacs windows. You may have to ensure that w3m-use-tab is set to nil as it didn't seem to work in the same way when I had it enabled.
One of Emacs' best features is that it is self-...

This is an example of what I have in my init file, just customize it a little bit and you're ready to go
(defun duckduckgo (what)
"Use ddg to search for WHAT."
(interactive "sSearch: ")
(browse-url-firefox (concat "https://duckduckgo.com/?t=lm&q="
(url-unhex-string what))))