If your geometry has true interior faces
see an older version of the answer:
If there is no disjoint interior geometry.
a manual way..
- First in edit mode unselect all geometry.
- use box select (b) to select the visible outer faces, and rotate the model around and add to the selected set by doing more box selects until all outer faces are selected. You can also use the other selection methods, C enters a mode that lets you "paint" selections by leftclicking and dragging the mouse around (esc to exit that mode).
- Then hit Z to see the model as see-through, you'll notice many unselected verts, those would be considered interior for your purposes.
- Ctrl+I to invert selection.
- X , delete vertices.
The problem then would be that the model now has holes that need to be filled.
A strategy to continue this in Blender is to select all edges that only attach to 1 face. You do this by selecting one such edge, and then doing
- Select -> Select Similar -> Amount of Faces around an Edge.
I don't think you'll get away with hitting F (to Fill) and Ctrl + T to triangulate the result. (as shown below)
There are applications like MeshMixer that can do these tasks automatically, but I say this not as an endorsement - rather as an avenue to explore if you need to do this type of processing a lot. When you relinquish control to a program there's always a trade-off.