Laplacianで画像の2階微分

Laplacianで画像の2階微分

本記事はQrunchからの転載です。


今回はLaplacianを扱います。

そもそものLaplacian

Laplacianの復習的な話ですが、2階偏微分可能な関数$f(x,y)$に対して以下をLaplacianといいます。 $$ \Delta f = \frac{\partial^2 f}{\partial x^2} + \frac{\partial^2 f}{\partial y^2}. $$

Sobelフィルタで微分

Sobelフィルタで微分

本記事はQrunchからの転載です。


よくある画像処理のオペレーターとして、画像の微分があります。 いくつかやり方はありますが、今日はSobel微分を取り上げます。

imencodeとimdecodeによるメモリ上での画像圧縮

imencodeとimdecodeによるメモリ上での画像圧縮

本記事はQrunchからの転載です。


画像をpngなどからjpgに変換したいときに、ぱっと思いつくのはファイルを読み込んで、それをjpgの拡張子で書き込みした後に再度読み込みなおすことです。 1度動かすならばそれでも良いのですが、何度も繰り返しおこなう場合にはファイルの読み書きの時間が気になります。

サンプルコードでなにかとあらわれるガウス平滑化

サンプルコードでなにかとあらわれるガウス平滑化

本記事はQrunchからの転載です。


今日はなにかとサンプルコードで使われるガウス平滑化です。

ガウス平滑化とは

前々回取り上げた単純平滑化は局所領域の平均をとることで、平滑化をおこないました。これは局所領域内の各ピクセルの重み付けがすべて等しいともいえます。 ガウス平滑化では二次元のガウス分布を離散化した値を重みとして利用するような平滑化になります。 $$g(x,y) = \frac{1}{2\pi\sqrt{\sigma^2}}\exp\left(-\frac{x^2 + y^2}{\sigma^2}\right).$$

外れ値に強いMedianBlur

外れ値に強いMedianBlur

本記事はQrunchからの転載です。


単純平滑化の場合には、局所領域内での平均を取るため、周辺とは大きく異なるピクセル値をもつピクセルがあると、その影響が大きすぎて上手くいかない場合があります。 そのようなケースでは中央値を使うようにすると、上手くいくかもしれません。

大津の二値化で楽をする

大津の二値化で楽をする

本記事はQrunchからの転載です。


大津の2値化とは?

シンプルな二値化では、何かしらのしきい値を決めてあげる必要がありました。

人間がグレースケール値のヒストグラムを見てしきい値を決めたり、試行錯誤するというのも良いですが、場合によってはしきい値を自動で決定したくなります。

関数が上に凸であることの必要十分条件はヘッセ行列が半負定値の証明

本記事はQrunchからの転載です。


関数が上に凸であることの必要十分条件はヘッセ行列が半負定値であることです。ネット上だと日本語でまとまっている文献があんまりないかもと思ったので、今回はこの証明をまとめます。 なお、関数が下に凸のときにはヘッセ行列は半正定値となります。上に凸の定義を使っているところを下に凸の定義に置き換え、正定値を負定値に置き換えれば、同じ議論が可能です。 また出てくる関数$f$は暗黙的に定義域で2階微分可能としています。