Python

OpenCV Reference

【OpenCV-Python】cvtColor(色変換)

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

【OpenCV-Python】filter2D(任意カーネルフィルタ)

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

【OpenCV-Python】medianBlur(メディアンフィルタ)

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

【OpenCV-Python】GaussianBlur(ガウシアンフィルタ)

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

【OpenCV-Python】blur(平滑化、移動平均)

OpenCVで画像の平滑化を行うには、blur()関数を用います。 ここで言う平滑化は、単純な移動平均フィルタとなります。 移動平均フィルタの処理については、下記ページを参照ください。 平滑化処理の構文 blur( src, ksize]]...
OpenCV Reference

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

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

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

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

【OpenCV-Python】バージョンの確認方法

OpenCVで、現在、使用しているバージョンの確認方法は、Pythonのコードで import cv2 print(cv2.__version__) のように、versionの前後にアンダーバー(_)を2つで挟んで表示するとバージョンを確認...
OpenCV

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

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

【Python.NET】PythonからC#ライブラリ(dll)の使用方法

Python.NET(pythonnet)を使うと、C#というか、.NETで作られたライブラリ(dll)を、何も手を加える事なく、そのままPythonから使う事が出来るようになります。 また、その逆のC#からPythonのモジュールを使う事...
OpenCV

【OpenCV-Python】momentsによる重心の計算

画像処理において、重心は、欠陥部分の中心位置の算出や、レーザー光のように山なりの輝度分布を持つ画像の輝度値のピーク位置を求めるのに使っています。 重心の計算方法はこちらのページでも紹介しているように、計算そのものは、以下の計算式で求める事が...
OpenCV

【OpenCV-Python】カメラのフレームレートは設定できない?

OpenCVでカメラのフレームレート(fps: frames per second)を設定するには、文法上は import cv2 # カメラを開く cap = cv2.VideoCapture(0) # フレームレートを設定 ret = ...
OpenCV

【OpenCV-Python】Webカメラから画像をキャプチャして保存する

OpenCVでWebカメラ(USBカメラ)から画像をキャプチャして保存する方法を紹介します。 必要なもの ●Python ●OpenCV(pip install opencv-pythonでOpenCVをインストールします) ●Webカメラ...
OpenCV

【OpenCV-Python】矩形抽出(矩形度)

以前、輪郭の内側の面積と周囲長の関係から円形度なる値を求め、円らしき領域を抽出する方法を行いました。 この考え方を応用して、今度は、矩形度(長方形らしさ)なる値を求めて、矩形らしき領域を抽出する方法を考えてみたいと思います。 矩形(長方形)...
OpenCV

【OpenCV-Python】デモザイキング(Bayer変換)

デモザイキング(Demosaicing)とは、一般的なカラーカメラでは、センサの各画素に下図のようなBayerパターンと呼ばれる配置で、フィルタが配置されています。 この状態で画像を撮影すると、画像そのものはモノクロ画像の市松模様のようなノ...
OpenCV

【OpenCV-Python】Tkinter GUI Sample

OpenCVのPython版でもC#のようなウィンドウのGUIプログラムを作りたい! ということで、GUIにTkinterを使って、簡単なサンプルプログラムを作成しました。 ここで公開しているコードは自由に変更して使って頂いてもらって構いま...