What you want cannot be done from the 2nd image you provided. Next to the two lowest orange regions there is one region that would appear to be background, but it is not possible to know if it is an overlap or just another tangential region. The current representation seems ambiguous.
Another one such region is between the two lowest regions, is that bit in the middle background or overlap?
Even if you could identify the overlap from the background (let’s say that the overlap is a different grey intensity than the background) there is no guarantee that the intersection is a point: two equal sized squared regions overlapping horizontally side by side could have no intersection points (the overlap would be a rectangular area).
Something I noted is that when those intersection points exist, like in your 1st image, those points are neighbours to 4 different types of pixels: region 1, region 2, the overlap and the background. Maybe you can use that to identify them, but obviously you need a labelled image for that.
If you could identify all your regions separately you could use region connection calculus to find the “partial overlap” (PO) regions in your set of regions using a multiple comparison of regions relations (that is every region vs every other region) with the RCC5D logic.
and some principles and code here:
However I do not know how you capture your data, maybe the regions are already overlapping and you cannot work out if a pixel belongs to a region or an overlap. In that case RCC will not help.