The 1-1-3-1-1 (with tolerance) works at angles as well, as long as the code is not perspectively warped.
You are right in assuming that there‘s a lot more to it than that. Localization and decoding (usually these are considered separately) 2D codes is an active research field, and there are a lot different approaches.
Disclaimer: I an the author of STRICH (https://strich.io) and have dived relatively deep into the topic.
Comments
The 1-1-3-1-1 (with tolerance) works at angles as well, as long as the code is not perspectively warped. You are right in assuming that there‘s a lot more to it than that. Localization and decoding (usually these are considered separately) 2D codes is an active research field, and there are a lot different approaches.
Disclaimer: I an the author of STRICH (https://strich.io) and have dived relatively deep into the topic.
Also, you can always look at how libraries such as ZXing do it. Especially for QR codes, there is a lot of code available on the internet.