タグ

ブックマーク / axa.biopapyrus.jp (3)

  • エッジ検出 | OpenCV (Python3) を利用したエッジ検出

    2019.01.14 エッジの検出は、Canny アルゴリズム、ラプラシアン、および Sobel アルゴリズムによって行うことができる。ここでは、次の写真を使って、植物領域のエッジを検出する例を示す。植物領域のエッジを検出したいので、ここでは BGR 写真をそのままグレースケース化せずに、緑色を検出するのに適している L*a*b* 色空間の a* 値を取り出して、エッジ検出に用いる。 Canny アルゴリズム Canny アルゴリズムでは、画像の輝度に対して微分を行い、その微分値が与えられた閾値の範囲に入っていれば、それをエッジとしている。そのため、Canny アルゴリズムを利用する使い場合は、画像の輝度に対する微分値の最小値と最大値の範囲を与える必要がある。次の例では、最小値を 30、最大値を 35 としている。 import numpy as np import cv2 img_BGR

  • オブジェクト輪郭検出 | OpenCV / findContours を使用して画像中のオブジェクトの輪郭を検出する方法

    2019.01.29 2 値化された画像の中に、非ゼロのピクセルが隣接してできた領域がある。このような非ゼロが隣接してつながった領域がオブジェクトとしてみなされる。例えば、下図では、4 つのオブジェクトが見られる。2 値画像では、情報を持つピクセルの値は 1 であり、情報を持たないピクセルの値は 0 であるので、画像に保存した際に、オブジェクトは白になる。 findContours メソッドの使い方 OpenCV では、オブジェクトの輪郭を検出するメソッド findContours が用意されている。このメソッドでは、画像中に含まれるすべてのオブジェクトを検出して、それぞれのオブジェクトにに有のラベル番号を振り分けている。ラベル番号は 1、2、3、・・・のようになり、オブジェクト分だけ振り分けられる。背景は、0 としてラベリングされる。このメソッドは、オブジェクトのラベリング結果とともに、

  • ブロックノイズ | JPEG 画像のブロックノイズ

    2019.01.18 ブロックノイズは、JPEG 形式の画像や MPEG 形式の動画を高圧縮率で圧縮したときに現れるブロック状のノイズである。画像あるいは動画などのデータは、数字の羅列からなり、画素数が増えればデータ量も増える。例えば、1 つの色を 256 = 28 段階の明るさで表現するとき、1×1 ピクセルの RGB カラー画像のデータを保存するのに 8 × 3 = 24 bits = 3 bytes が必要なので、4,608 × 3,456 = 15,925,248(約 1,600 万画素)のカラー画像は、1.6×107 × 3 = 4.7×106 bytes = 45.6 MB となる。画像 1 枚で 45.6 MB であり、画像の表示や画像の処理に非常に時間がかかる。そのため、一般的には、このような生データを使わずに、圧縮されたデータを使用する。 JPEG は、画像データの圧縮形

    otori334
    otori334 2021/04/17
    “画像処理中に JPEG 形式での保存と再読み込みをなるべく避けるべきである”
  • 1