プログラム全般

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

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

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

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

SIMD(AVX,AVX2)の使用方法
AVX, AVX2の関数を使うには、至って簡単で、ヘッダファイル(immintrin.h)をインクルードするのみで、使えるようになります。
#include <immintrin.h>
AVX, AVX2で処理を行うデータは、通常、PC...

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

【C#エラー】System.BadImageFormatException 間違ったフォーマットのプログラムを読み込もうとしました。
ライブラリ(DLL)を使ったアプリケーションを作成しようとすると、
アプリケーションはブレークモードになっています
System.BadImageFormatException: '間違ったフォーマットのプログラムを読み込もうとしま...

【C#エラー】ファイルForm.resxを処理できませんでした。インターネットまたは制限付きゾーン内にあるか、ファイルにWebマークがあるためです。
メールに添付したプログラムをVisual Studioで開き、ビルドをすると以下のようなメッセージが表示されました。
ファイルForm.resxを処理できませんでした。インターネットまたは制限付きゾーン内にあるか、ファイルにWebマー...

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

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

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

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

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

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

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

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