Revision db987cd3-e59b-4233-9edc-87029b335658 - Code Golf Stack Exchange
# [MATL](https://github.com/lmendo/MATL), <s>48</s> <s>44</s> 42 bytes
tH4hBZ+*zGt5OhBZ+*z2X^*+Gt3Y6Z+1=*&fdwdYy/
This takes the input as a binary matrix, with `;` as row separator. `1` corresponds to hash and `0` to space.
[Try it online!](https://tio.run/nexus/matl#@1/iYZLhFKWtVeVeYuoPYRlFxGlpu5cYR5pFaRvaaqmlpZSnRFbq//8fbaCACg3BEEYbKhhgg9boelBpA@z6cOjCq0fBkAxdhmTYZYjhQhwmY/KsDbGEALo6Q/QQtYaFNn59uMIQZ9xgg7EA) Or [verify all test cases](https://tio.run/nexus/matl#zVY9a8MwEN37Kzx1sIfq5aPL0aVkCHjIkiGJcekQSn@AITR/3oGEhFjS3cmyBEWDbJ5Op3v37qTvXd1368Xv56Eqz3W33Ny@Zruvsqq7@f79UOGjfP05no77v7d@te0bUwwHruM@ozC@QbbNcDZ@O8ZKtCkQYYUIX3BOyOzs/hE8DNjrYDNKd7ZlO45DNje@0b404u40FjVWHCwegSLyVBC0ZoY8kz9DPhU41sSxDCEiRPI8Nd6gysuOMhqn59owLMp3IBk1avfSuhQmoFy8IZVt0vq9Vj@kjkFy/1K8j8ARky8t24lwXU8p@NHzJysnpAqn41p3CbkhtDsCQvwQ/E/lD9n0mx8P01d@/Vhe2PzLr4DHGpLfLxBxKPurd3Zy/Y68nf8dnq9@0vU/9y09Pr@PFe0F).
[Here's](https://tio.run/nexus/matl#tZVBDoMgEEX3nmKSn5R9t249QnetSe9/CRsQlRm@CJiaGM0bGD9/Bly@w/PzmKbhtSxvJ/EC4G/IcblRtjDiLTgNmyiKYRRnI02eTtofPgyYLwb9OKT5dxW3ytVqk4XNw@FLnObGEhFkJMosElxmhhACS7A6pvLAfj0jwOW66vRoArlP0sIFgrRWkahOpUSQEd3ALmuMM2L0sDFVmZM8ocv0jvPDwHWX0xMNxALiUwtiDtdKZVbkntLWqESkN@lWJXvVjtqL0qgeXRXqR9zofle3ucav/CQL0KJw5huUj6LnUnOFCifRn1BftRv6fv91XZizWjj/AA) a format converter where you can paste the input as a 2D char array (again, with `;` as separator) and get a string representation of the corresponding binary matrix.
###Explanation
This was fun! It uses _three_ two-dimensional convolutions. I'll add a proper explanation later.