Posts for: #画像処理

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値化とは?

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

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

CNNで画像中のピクセルの座標情報を考慮できるCoordConv

CNNで画像中のピクセルの座標情報を考慮できるCoordConv

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


CNNの表現能力の高さはすばらしいものがありますが、何でもうまくいくわけではありません。例えば、画像中の位置情報を考慮しないと解けないような問題は、通常のCNNではうまく対応できません(具体的な例はこの後説明します)。
このような問題に対応した手法としてCoordConvというものがあります。CoordConvは座標情報をCNNのなかに組み込む手法で、これを使うことで解けるようになるケースや性能が大きく改善されるようなケースがあります。また「効くか分からないけど、とりあえず組み込む」ということをしても、デメリットはそれほどありません。