python
PythonでのOpencvを使った重心(図心)求め方についてです 。 以前書いた、最小外接円でも似たような値は出せますが、 kangkang1981.hatenablog.com 最小外接円だとcontoursの関数と組み合わせる必要がありますが、 画面全体での白の重心という方法ではこのm…
1か月ぶりの更新になってしまいました。 最近まで会社でリストラやっていた影響で、周りの人が続々といなくなるので、 公私ともにブルーなのです。 はてなブログさんより一か月も更新していませんよというのが来たので、 書くか~と思いました。 今回は、Py…
Opencvを使った、画像の極座標変換についてです。 またまた久々の更新です。 最近は不動産投資をするための準備で貯金がどんどん減っていく状態(TT)。。。 これ以外にも今いる会社が業績不振で黒字リストラをしているので (会社は再構築といっています…
Pythonの動画読み込みをする際のループ再生をする場合です。 前回紹介した下記の記事から一部変更するだけです。 kangkang1981.hatenablog.com 変更する場所は、下から4行目のelse:の後に、 最初のフレームに戻す下記に変更するだけです。 cap.set(cv2.CAP_P…
Pythonの動画の読み込み方法です。 動画の保存方法については、下記のとおりです。 kangkang1981.hatenablog.com 今回は、上で制作した、movie.mp4という動画ファイルを読み込む方法です。 今回もOpencvを使うので、cv2を読み込みます。 import cv2 動画のア…
カメラの撮影にて、カメラを動かすことと、画像の保存についての紹介をしましたが、 動画を保存する場合もあるので、この方法についてです。 この時をOpencvを使うなど変わらないことが多いので、 変更している部分のみ紹介します。 この部分が、動画を保存…
PythonのOpencvを使ったカメラの撮影方法です。 これはスマホのカメラのように、カメラの画像を見ながら撮影する方法です。 まずはopencvを使うため、opencvのインポートをします。 import cv2 その後、カメラやカメラサイズを決めます。 カメラのNoの設定…
pythonでテキストデータを読み込む際、 1列目から使いたいときにそのままだと1列目を見出しにしてしまったり、 文字列が数列あると、読み込めなかったりする場合に、見出しを設定してやると うまくいく場合が多いということがありますので、 見出しを設定す…
pythonを使った、テキストデータの読み込みについてです。 csvでの読み込みは以前書きましたが、 kangkang1981.hatenablog.com textでは書いていなかったので、これについても記載しておきます。 とりあえず使うテキストデータは下記です。 No,data 1,100 2,…
最近は、ソフトウェアよりもソフトを動すためのハード関連の 図面書いたり、電気関連のことをやったりと ソフトをあまりやっていなかったのもあり、更新していませんでした。 会社でリストラやりそうな雰囲気があり、 仕事のモチベーションが下がっているの…
Pythonの画像の切り取りについてです。 画像を切り取りしようと思ったのですが、載せていなかったのを忘れていたので、 載せておきます。 最近、書くこともなくなってきましたしね。 まずは画像の読み込み等でOpencvを使うので、 モジュールをインポートしま…
たまにですが、白黒に処理した画像とカラー画像を一緒に連結して ビデオにしたい!とか合成したいということがありますが、 グレイ画像、cannyでのエッジ抽出した白黒画像は1chになるため、 カラー画像(3ch)とhconcatで画像を連結しようとすると、 下記みた…
PythonのOpencvを使った、画像の縦横の連結方法についてです。 最近、処理画像の報告用にプログラムを作っている際に、 通常画像と検出画像を並べて動画にするとやりやすいかな~と思い、 使っているのもあり、載せています。 プログラムの下記方はopencvのv…
円周率の計算です。 コロナが一向に収束しないのもあり、 現在会社が月の半分休業状態で、今日は家で自宅待機なのですが、 子供が宿題している横で、遊んでいるわけもいかないので、 円周率の計算をしてみました。 pythonでの円周率は mathのモジュールの「m…
PythonのOpencvを使った画像の回転方法についてです。 角度を指定して回転する方法で、 OpencvのgetRotationMatrix2DとwarpAffine変換を使ってやります。 まずはopencvの読み込みを行います。 import cv2 その後、画像を読み込み、今回は画像の中心を指定す…
画像の上下左右反転についてです。 先週ぐらいから3Dカメラを扱っており、 すったもんだやっているのですが、 その際同僚からカメラの左右反転しているということがあり、 調べたところ、opencv の中にfilpという関数があったので、この紹介です。 カメラ…
Opencvを使った、白黒の反転です。 検出した画像が、黒点だった場合、この面積を簡単に知りたい!というときは 前にも記事にした、countNonZeroで簡単にできますが、黒の面積だとできないので、 この場合反転してやってしまうのが楽ちんです。 というわけで…
Opencvを使った最小外接円についてです。 円の検出というとハフさん?が作ったと思われるHoughもありますが、 ハフ関数は円のサイズや投票数があるので、結構うまく使うのが難しいな~と 感じているのですが、最小外接円のほうはパラメータみたいなものがな…
Opencvを使った、画像への文字の書き込みについてです。 カメラを使った処理を使うときは、カメラに数字を書いたり、 文字を書いたりと、割と活躍する機能です。 OpenCVを使うのはモジュールは import cv2 今回は、numpyで作った画像に書き込むため、こちら…
Blank画像の作り方についてです。 Blank画像は色々と使い道があり、ほかで検出したものを載せたり、 文字を書いたり等々 numpyのモジュールを使うので、 import numpy as np その後は青を作る場合は下記のように書きます。 img_blue = np.full((250, 600, 3)…
Opencvを使った輪郭(面積、領域)の抽出についてです。 使う画像は、前に色の抽出で使った、下記画像の 赤丸を抽出する方法でやります。 まずはモジュールのimport import cv2 #opencvのインポート import numpy as np #色フィルターで使うのでこのインポー…
pythonのOpencvを使って 四角、線、円、楕円の書き方です。 いつも通り、Opencvのインポートをします。 import cv2 後、書き込む画像を作るためにnumpyを使うので import numpy as np まずは、四角の書き方は cv2.rectangle(描画する画像、(座標1点目x,y),(…
pythonのcsvファイルの使い方で、割とよく使うのが、 excelでいう、sumifの使い方です。 csvから読み込むときは、 ① 指定した値を取得 ② 指定した列の合計を取得 という形で組み合わせてやります。 プログラムpandasを使うので、まずはインポート import pan…
PythonのPandasを使った、下記3つについてです。 1.csvの読み取り 2.csvの行数を数える 3.csvの合計を数える CSVファイルを作る目的が、私の場合一時的に保存して、 別の関数で使うときに再度開いて色々やるということが多いです。 dataも保存できて…
Pythonで画像を扱う際に、地味に必要になる、下記の取得方法についてです。 ・画像サイズ ・チャンネル 画像サイズは、例えばレナさんの写真の中心はどこだろう?と思ったとき、 ただ眺めているだけではわからないですので、.shapeというのを使用します。 プ…
私は普段、画像処理のプログラムを組む際、 パンダじゃないですが、私の扱っている製品が基本透明か白なため、 画像としては白と黒及びこの間の色がメインのため、 あまり色を考えることがないのですが、 画面の歪みを調整する際に、 目印として、色を付けた…
pythonでif文はよく使うもので、条件分岐の時に使います。 書き方の作法としては ****************************************************************** if 条件式1: 条件式1のときの処理 elif 条件式2: 条件式2のときの処理 elfi 条件式3: 条件式3…
プログラムでよく使うfor文についてです。 for文は処理を繰り返すために使う処理で、プログラムを書く際は よく使うと思います。 ※あまり多用すると処理が遅くなるのでご注意を! for文の書き方としては、 for 変数 in オブジェクト: 実行処理 「:」をよく…
画像処理をする際に、私が重要だと思っているのが、 まずは処理できる画像を撮ること、仕事で最も苦労しております。 次に画像の下処理です。 雑談になりますが、プログラミングとは別案件の仕事で、 1988年製の検査機を使ったのですが、感熱紙での記録とな…
まずは画像処理で最初にやる必要がある画像の読み込み(ついでに表示も) 流れとしては ①モジュールの読み出し import cv2 ②画像の読み出し frame = cv2.imread('lena.jpg') ③画像の表示 cv2.imshow('lena',frame) ④キー入力待ち cv2.waitKey(0) ⑤全てのウイ…