Python版OpenCVのカテゴリです。

【OpenCV-Python】BGRA(32bit,8bitx4ch)のBitmapファイル読込
OpenCVで32bit(BGRA, 8bit4ch)のBitmapファイル(*.bmp)をimread()関数でファイルを開くと、OpenCVのバージョンに依存して、32bit(4ch) もしくは 24bit(3ch) で読込まれるようで...

【OpenCV-Python】cvtColorでBayer変換するときの定数
一般的なカラーカメラでは、モノクロのセンサの各画素にBayerと呼ばれるパターンのカラーフィルタが配置された状態で、画像を撮影しています。このパターンはGRBG(詳細は後述)このフィルタが配置された状態で撮影した画像は、下図のように、市松模...

【OpenCV-Python】getTextSize(文字の大きさを調べる)
OpenCVで描画する文字の大きさを調べるにはgetTextSize()関数を用います。文字を描画するputText()関数では、文字を描画する位置を文字の左下の位置で指定しますが、文字の位置を上寄せ、下寄せ、右寄せ、左寄せ、左寄せなどを行...

【OpenCV-Python】putText(文字の描画)
OpenCVで画像に文字を描画するにはputText()関数を用います。ただし、日本語の描画を行うことはできません。putTextの構文putText( img, text, org, fontFace, fontScale, color]...

【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()関数を用います。circle()関数の構文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なので、num...

【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, d...