This is a trickier problem than you think: if it worked as you described based on both sides being able to see the complete object, then all it would take is a single pixel corner of an object poking in to the LOS region to count as not visible. So then you really want to define something like the percentage of the object that is visible... but then calculating that with a few small objects strewn around the area between the two objects becomes extremely difficult.
As eli0s suggests the simplest way to fake this is to allow LOS to multiple positions around an object, using extra sprites.