はじめに OpenCVを利用して二値化を行う際, 「とりあえずcv2.THRESH_OTSUやっとけばええやろ, ぽいー」って感じでテキトーに二値化してました. 「とりあえずいい感じに動く」って認識だったので, きちんと(?)理解自分なりにここにまとめていきたいと思います. 初心者なので間違いなどあれば教えていただけるとありがたいです. 概要 - OpenCVさんの説明 OpenCVのチュートリアルを見ると 大津のアルゴリズムは以下の式によって定義される重み付けされたクラス内分散を最小にするようなしきい値(t)を探します. $\sigma_{\omega}^2(t) = q_1(t)\sigma_1^2(t) + q_2(t)\sigma_2^2(t)$ (各変数の定義は本家を見てください) のように書いてありました. 詳しくはわからなかったけど, いい感じのしきい値(t)を探してくるって
![大津の二値化ってなんだ…ってなった. - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/ea6b56e062c9294df0fb73756b2eb26664b780bb/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUU1JUE0JUE3JUU2JUI0JUE1JUUzJTgxJUFFJUU0JUJBJThDJUU1JTgwJUE0JUU1JThDJTk2JUUzJTgxJUEzJUUzJTgxJUE2JUUzJTgxJUFBJUUzJTgyJTkzJUUzJTgxJUEwJUUyJTgwJUE2JUUzJTgxJUEzJUUzJTgxJUE2JUUzJTgxJUFBJUUzJTgxJUEzJUUzJTgxJTlGLiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9NWI5OTYzOGFlMzY3YWY4ZTk3NTlkOGRkNDMyY2NhZDk%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBoYXJ1MTg0MyZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZjkwMjFkOTJiZjE0MGE2YjFmY2VmOTVjODFmZmQzYTQ%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Db53f70a853bb975855e48a25918d480a)