Python版OpenCVのカテゴリです。

【OpenCV-Python】CvZoomWindow class(ズーム、パン機能付き画像表示ウィンドウ)
OpenCVで画像を表示するには、namedWindow()でウィンドウを作成して、imshow()で画像を表示しますが、画像は等倍で表示するか、cv2.WINDOW_NORMALを指定して、ウィンドウのサイズに合わせて画像の拡大縮小を行う...

【OpenCV-Python】getWindowImageRect(画像表示領域の取得)
OpenCVのnameWindow()やimshow()で表示されたウィンドウの画像表示領域の情報(位置、幅、高さ)を取得するには、getWindowImageRect()関数を用います。 getWindowImageRect()関数で取得...

【OpenCV-Python】rectangle(矩形(長方形)の描画)
OpenCVで矩形(長方形)を描画するにはrectangle()関数を用います。 rectangle()関数には、長方形の対角の2点の座標を指定する方法と、Rect(長方形の左上のX座標、Y座標、幅、高さ)を指定する方法があります。 長方形...

【OpenCV-Python】circle(円の描画)
OpenCVで画像に円を描画するには、circle()関数を用います。 line()関数の構文 circle( img, center, radius, color]] ) -> img 引数 img 円の描画先の画像データ center ...

【OpenCV-Python】setMouseCallback(マウスのコールバック関数登録)
OpenCVのnamedWindow()で作られたウィンドウやimshow()で自動で表示されたウィンドウのマウスイベントのコールバック関数を登録するにはsetMouseCallback()関数を用います。 setMouseCallback...

【OpenCV-Python】line(線の描画)
OpenCVで画像に線を描画するには、line()関数を用います。 line()関数の構文 line(img, pt1, pt2, color]]) ->img 引数 img 線の描画先の画像データ pt1 線の始点の座標 (X座標, Y座...

【OpenCV-Python】カメラからの画像取込を別スレッドにする
カメラからの画像取込を、なぜ、わざわざ別スレッドにしたいか?というと、よくある画像取込のプログラム import cv2 # カメラを開く cap = cv2.VideoCapture(0) while True: # 画像をキャプチャする...

【OpenCV-Python】色を指定して新規画像データを初期化
OpenCVで、画像に線や円などを描画する際、ベースとなる画像データを色を指定して新規作成したい時があるかと思います。 PythonのOpenCVにはC++のMatクラスのようなものはなく、画像データはnumpyのndarrayなので、nu...

【OpenCV-Python】LineTypes(線描画の種類)
OpenCVで線を描画する際、斜めに線を描画すると、どうしても線がギザギザしてしまうのですが、このギザギザ部分の描画方法をLineTypes enumで指定します。 ほとんどの線や円などの描画では、 cv2.LINE_8 が初期値になってい...

【OpenCV-Python】matchTemplate(テンプレートマッチング)
OpenCVでテンプレートマッチングを行うにはmatchTemplate()関数を用います。 ただし、OpenCVのテンプレートマッチングは、回転やスケール変動に対応していないため、OpenCVの関数の中では使いずらい関数の一つでもあります...

【OpenCV-Python】Canny(Canny edge detection)
Canny edge detectionの処理アルゴリズムついてはこちらのページ で紹介していますが、Canny edge detectionで画像のエッジ部分を抽出すると、明確なエッジがなくとも、風景画などの、自然な画像においてもエッジ部...

【OpenCV-Python】Sobel(エッジ検出)
OpenCVでソーベルフィルタ処理を行うには、Sobel()関数を用います。 ソーベルフィルタは、画像のエッジを検出することで、位置決めや寸法計測などに用いられます。 ソーベルフィルタ処理の構文 Sobel( src, ddepth, dx...

【OpenCV-Python】cvtColor(色変換)
OpenCVでカラー→モノクロ変換、カラーのデータの並びを入れ替えるBGR⇔RGB変換、色抽出の前処理として使われるHSV変換や、Bayer画像をカラー画像に変換するなど、主にカラー画像の変換を行うにはcvtColor()関数を用います。 ...

【OpenCV-Python】filter2D(任意カーネルフィルタ)
OpenCVで任意のカーネルを指定してフィルタ処理を行うには、filter2D()関数を用います。 カーネルそのものは、numpyの二次元配列で指定します。 構文 filter2D( src, ddepth, kernel]]] ) -> ...

【OpenCV-Python】medianBlur(メディアンフィルタ)
OpenCVで画像のメディアンフィルタを行うには、medianBlur()関数を用います。 メディアンフィルタは、ごま塩ノイズやスパイクノイズなどと言われる、小さい点々のノイズを除去するのに効果的です。 また、他の平滑化(blur)やガウシ...

【OpenCV-Python】GaussianBlur(ガウシアンフィルタ)
OpenCVで画像のガウシアンフィルタ処理を行うには、GaussianBlur()関数を用います。 ガウシアンフィルタは、「ガウス関数のσの値を変えると、平滑化の効果を変えられる」という説明が多いかと思いますが、ガウシアンフィルタには、それ...