![]() |
OpenCV 5.0.0
Open Source Computer Vision
|
前のチュートリアル: 独自の線形フィルタを作る!
次のチュートリアル: Sobel 微分
| 原著者 | Ana Huamán |
| 互換性 | OpenCV >= 3.0 |
このチュートリアルでは、以下の方法を学ぶ:
このチュートリアルでは、画像に追加のパディング(境界)を定義する2つの方法を簡単に見ていく。
これはコードのセクションでより明確に示される。
どの種類のパディングを入力画像に使うかをユーザーが選べるようにする。2つの選択肢がある。
ユーザーは 'c'(一定値)または 'r'(複製)を押すことでいずれかの選択肢を選ぶ
チュートリアルのコードを以下の行に示す。
まず、使用する変数を宣言する。
特に注意すべきは変数 rng で、これは乱数生成器である。後で見るように、ランダムな境界色を生成するために使用する。
いつものように元画像 src を読み込む。
プログラムの使い方を簡単に説明した後、ウィンドウを作成する。
次に、境界のサイズを定義する引数(top、bottom、left、right)を初期化する。これらに src のサイズの5%の値を与える。
プログラムは ESC キーが押されない限り無限ループで実行される。ユーザーが 'c' または 'r' を押すと、borderType 変数はそれぞれ BORDER_CONSTANT または BORDER_REPLICATE の値をとる。
各反復ごと(0.5秒後)に、ランダムな境界色(value)が更新される...
この値は \([0,255]\) の範囲でランダムに選ばれた3つの数値の組である。
最後に、関数 copyMakeBorder() を呼び出してそれぞれのパディングを適用する。
先ほど作成したウィンドウに出力画像を表示する
上記のコードをコンパイルした後、画像のパスを引数として与えて実行できる。結果は次のようになるはずである:
以下に、境界の色がどのように変化するか、また BORDER_REPLICATE オプションがどのように見えるかを示すスクリーンショットを示す: