hiyoko-programingの日記

プログラミングを勉強したてのひよっ子。   エンジニア目指して勉強中。

ラプラシアン

◉画像の輪郭とは?

画像には明るい部分と、濃い部分がある。

急激に濃度を変化した部分を拾って線で表すと、

対象に大まかな形が見える。

これが輪郭、または輪郭線である。

また、輪郭を「エッジ」と呼ぶ。

 

◉エッジを使う理由

画像検出では、画像の中にどのような特徴があるのかを

コンピュータに調べてもらう必要がある。

そこで、エッジを使って大まかな形を見つけ、コンピュータが判断する回数を

ぐんと減らし、よりスピーディーに作業が進ようにするため。

大まかな形は効率よく特徴を持って見つけることができるので、

利用する。

 

ラプラシアン

画像からエッジを抜き出す方法の1つに「ラプラシアン」がある。

cv2.Laplacian(画像, 出力画像の色深度)

 ⚫︎画像:エッジを抜き出したい画像

 ⚫︎出力画像の色深度:画像の色数

 

<画像からラプラシアンで輪郭を抽出するPythonコード例>

import sys

import cv2

if len(sys.argv)<2:

    print('表示したいファイル名を指定してください。')

    sys.exit()

file = sys.argv[1]

try:

    img = cv2.imread( ' file ' ) 

    if img is None:

         raise ValueError('ファイルが見つかりません')

 edge = cv2.Laplacian (img, -1)

    cv2.imshow(file, edge)

    cv2.waitKey(0)

    cv2.destroyAllWindows()

except ValueError as e:

    print(e)

except:

    import traceback

    traceback.print_exc()

 

今回は元画像と一緒にしたため −1