Yes. This is certainly possible.
I'm not sure how you're templating / naming is setup but you can get entries by entry type and you can check an entry's type. To get entries by a specific type:
craft.entries.section('blog').find({type: 'imagePost', limit: 10})
Here's some helpful references for craft.entries:
Entries Cheat Sheet - Craft Docs For the Entry Model
You could structure some kind of comparison, to see if the current entry is a specific type, and if it is query and render the desired additional entries.
{% if entry.type == 'imagePost' %}
{% for post in craft.entries.section('blog').find({type: 'imagePost'}) %}
...
{% if entry.type == 'textPost' %}
{% for post in craft.entries.section('blog').find({type: 'textPost'}) %}
...
However there are many ways to do what you want depending on your setup. Please note I used the name imagePost instead of image, to avoid any confusion there might be with a common name like image. I'm not sure if that could cause name conflicts or if it's a reserved keyword / field etc.