Python

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

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

【OpenCV-Python】resize(画像の拡大縮小)
OpenCVで画像のリサイズを行うには、resize関数を用います。
resize関数では、リサイズ後の画像の大きさ(幅と高さ)を指定する方法と、リサイズのスケールを指定する方法があります。
構文
resize( sr...

【OpenCV-Python】JPEG画像の品質を指定して保存する
OpenCVで画像をファイルに保存するには imwrite 関数を用いますが、この関数でjpegファイルの品質を指定して保存することが可能です。
imwrite関数の書式は
imwrite(filename, img) ->...

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

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

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

【OpenCV-Python】円近似(疑似逆行列を用いた方法)
OpenCVには座標を楕円で近似する関数(fitEllipse)はあるものの、円で近似するfitCircle()のような関数はありません。
そこで、最小二乗法的に座標を円で近似するfitCircle()関数を作ってみました。
円...

【OpenCV-Python】円形度
円形度とは、図形の面積と周囲長の関係から、円らしさの値を求めます。
円形度の詳細は以下のページを参照ください。
OpenCV的には、図形の面積はcontourArea()関数で、周囲長はarcLength()関数...

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

【OpenCV-Python】輪郭(contour)の矩形領域の取得
OpenCVのfindContours関数などで得られた点の座標から、点を囲う矩形領域(四角形の領域)を取得するにはboundingRect関数を用います。
さらに、傾きを考慮した矩形領域を取得するにはminAreaRect関数を用い...

【OpenCV-Python】輪郭(contour)の面積(contourArea)
OpenCVで二値化された領域の輪郭座標は、findContours関数を使えば取得することができます。
このときの戻り値である輪郭情報(contours)をcontourArea関数へ渡し面積を求めます。
ただし、求まる面積は...

【OpenCV-Python】findContoursによる輪郭検出
OpenCV(Python)で二値化された画像中の白の部分または黒の部分の輪郭のデータを取得するにはfindContours()関数を用います。
findContours()関数で取得できる情報は、輪郭を構成している点の座標群と輪郭の...

【Python/tkinter】枠線(relief)の種類一覧
tkinterのウィジェットのButtonやFrame、Labelなどで設定できる枠線(relief)の種類ですが、
RAISED
GROOVE
SUNKEN
RIDGE
FLAT
SOLID
...

【Python/tkinter】ウィンドウ(Frame)のxボタンがクリックされたときの終了確認
TkinterのFrameで作成したウィンドウのxボタンをクリックしたときに、終了確認を表示して、プログラムを閉じる/閉じないを選択する方法です。
まず、何もしないウィンドウを表示するだけのベースとなるプログラムから手を加えて...

【Python】経過時間をhh:mm:ssフォーマットで表示する
Deep Learningの学習工程のように、処理時間が長い場合に、定期的に下図のようにログを表示したかったのですが、timeモジュールのtime()関数で得られた秒数の差を 時:分:秒 の hh:mm:ss のフォーマットで表示する方法が...