i = Binarize@Import["https://i.sstatic.net/qofeF.png"]; vertexI = SelectComponents[i, "Count", 10 < # < 100 &]; vertexpos = ComponentMeasurements[vertexI, "Centroid"][[All, 2]]; template = Subsets[Range@Length@vertexpos, {2}]; lines = Subsets[vertexpos, {2}]; ti = Composition[Total, Flatten, ImageData, Binarize]; t1 ti@x_ := ti@i;Total@Flatten@ImageData@Binarize@x p = Position[t1Position[ti@i - ti@Show[i, Graphics@Line@#] & /@ lines, x_ /; x < 100]; Show[Graphics[{Red, Line[#]}] & /@ Extract[lines, p]]

Graph[Range@Length@vertexpos, UndirectedEdge @@@ Extract[template, p], VertexLabels -> "Name", ImagePadding -> 20, VertexCoordinates -> vertexpos]
