OpenCV Reference

OpenCV Reference

【OpenCV-Python】BorderTypes(画像の外周処理の設定)

blur(平滑化)やGaussianBlur(ガウシアンフィルタ)など、カーネルを使った画像フィルタ処理では、画像の最外周部分では、カーネルが画像からはみ出してしまうため、はみ出した部分を、どのように補うか?の設定の種類にBoarderTy...
OpenCV Reference

【OpenCV-Python】threshold(二値化、大津の二値化)

OpenCVで画像の二値化、大津の二値化を行うには、threshold()関数を用います。 二値化処理は、欠陥検査などにおいて、ノイズ除去などのフィルタを行った後、二値化処理を行い、面積や形状、位置などから、OK/NGの判定を行う場合などに...
OpenCV

【OpenCV-Python】トラックバー(スライダーバー)

OpenCVのGUIで出来る事は少ないのですが、そのうちの一つのトラックバーの表示です。 トラックバーを使うと、二値化などのしきい値の設定に使うと便利です。 トラックバーの使用例 二値化のしきい値にトラックバーを使用 サンプルコード imp...
OpenCV

【OpenCV-Python】resize(画像の拡大縮小)

OpenCVで画像のリサイズを行うには、resize関数を用います。 resize関数では、リサイズ後の画像の大きさ(幅と高さ)を指定する方法と、リサイズのスケールを指定する方法があります。 構文 resize( src, dsize]]]...
OpenCV

【OpenCV-Python】ヒストグラムの取得、表示

ここでは、ヒストグラムの取得方法と、取得したヒストグラムをmatplotlibで表示する方法を紹介したいと思います。 ヒストグラムの取得方法 OpenCVでヒストグラムを取得するには calcHist()関数を用います。 calcHist(...
OpenCV

【OpenCV-Python】アフィン変換(同次座標系を使用)

アフィン変換については、こちら↓のページ で、紹介していますが、回転や拡大縮小、平行移動などは3行3列の行列を使った同次座標系を用いるのが便利ですよ! と言っているのですが、OpenCVでは、2行3列の行列を使ったアフィン変換となります。 ...
OpenCV

【OpenCV-Python】ラベリング(connectedComponents)

ラベリングとは、二値化された画像において、画素がつながっている領域に対して同じ番号(ラベル)を与える処理のことを言います。 このつながっている領域のことをブロブ(blob)といいますが、このブロブに対して、面積や幅、高さなどを求め、キズや打...
OpenCV

【OpenCV-Python】輪郭の周囲長(arcLength)

findContours()関数などで取得した輪郭の座標から輪郭の長さを求めるにはarcLength()関数を用います。 構文 arcLength(curve, closed) ->retval curve 輪郭を構成する輪郭のxy座標(x...
OpenCV

【OpenCV-Python】findContoursによる輪郭検出

OpenCV(Python)で二値化された画像中の白の部分の外側の輪郭のデータを取得するにはfindContours()関数を用います。 黒の部分の輪郭は、白の部分の内側の輪郭という認識になります。 findContours()関数で取得で...
OpenCV

【OpenCV/Python】画像ファイルの読み込み、表示

OpenCVでBmpやJpegなどの画像ファイルを開くには、imread関数を用います。 開いた画像データはimshow関数でウィンドウ付きで画像を表示します。 実際に画像が表示されるのは、waitKey関数が呼ばれたタイミングとなります。...
OpenCV

【OpenCV/Python】adaptiveThresholdの処理アルゴリズム

自動でしきい値を決めて二値化してくれる画像処理と言えば、大津の二値化ですが、OpenCVにはadaptiveThreshold(適応的しきい値処理)という良さげな処理があります。 この adaptiveThreshold は画像全体に影や照...