ソースに絡まるエスカルゴ

貧弱プログラマの外部記憶装置です。

python

【Raspberry Pi】Raspberry Pi Zero WにOpenCVの環境を構築する

rikoubou.hatenablog.com 以前の記事でTinkerBoardにOpenCV環境を構築してみました。 最後のところで「Debian系なのでRaspberry Piでもいけるはず」と書いていたので、今回Raspberry Pi Zero WにOpenCV環境の構築をやってみました。 結論から言うとほぼ同じ…

【python/OpenCV/dlib】顔を認識して笑い男画像をリアルタイムで貼り付ける

過去の記事でdlibを使って顔認識をしたり、アルファ画像を合成したりしました。 【python/OpenCV/dlib】dlibとOpenCVを使って顔認識をする - ソースに絡まるエスカルゴ 【python/OpenCV】背景画像にアルファ画像を合成する方法 - ソースに絡まるエスカルゴ …

【python/OpenCV】背景画像にアルファ画像を合成する方法

今回はpythonとOpenCVを使って背景画像にアルファ画像を合成する方法の備忘録になります。 では始めます。 1:背景画像とアルファ画像を用意する 背景画像と合成用のアルファ画像を用意します。 今回は以下の画像を使った前提で進めていきますので、必要な…

【python】ディレクトリ(フォルダ)の作成と削除

pythonの記事をいくつか書いていましたが、ディレクトリの作成や削除といったものをやってこなかったので、今回はディレクトリ操作についての備忘録です。 参考資料として挙げたページ様を簡単にまとめた形になるので、詳しく知りたい方はそちらを参照してく…

【python】線分ABと線分CDの交点(2つの直線の交点)を計算する

以前の記事でハフ変換を使って画像から直線を求めました。 【python/OpenCV】読み込んだ画像から直線を抽出する方法 - ソースに絡まるエスカルゴ 直線を出したら交点も求めたくなるのではないか、という気がするので今回はタイトル通りに2つの直線の交点を計…

【python】pythonにおける参照渡し/値渡し

2019/05/20:色々と間違えていたので修正しました。 今回は割とハマりがちなpythonにおける参照渡しと値渡しについてです。 関数の引数として渡した場合はどちらなのか? みたいな内容の備忘録です。 自分も結構はまってしまったので何かの助けになれば幸い…

【python/OpenCV】読み込んだ画像から直線を抽出する方法

今回はタイトルにある通りpythonとOpenCVを使って読み込んだ画像から直線を抽出する方法の備忘録です。 基本的には参考資料に挙げたページ様からの引用ですので、詳しく知りたい方はそちらを参照してください。 直線を抽出する大まかな流れとしては以下の通…

【python/OpenCV】カメラの歪み補正を行う方法

カメラのレンズの種類によっては画像自体に歪みが発生する場合があります。(広角レンズなど) そのカメラの歪みをpythonとOpenCVを使って補正する方法を説明していきます。 基本的には参考資料にあるページ様のソースコードそのままなので、詳しい内容はそ…

【python/OpenCV/dlib】dlibとOpenCVを使って顔認識をする

rikoubou.hatenablog.com 前回の記事でdlibをインストールしました。今回はそのdlibとOpenCVを使って顔認識をしていきます。 では始めます。 1:学習済みデータのダウンロード 顔の認識には学習済みのデータを使用します。 Index of /files 上記のページを…

【python】MacOSにdlibをインストールする

OpenCVでも顔の検知はできますが、より精度の高い顔の検知をするためのライブラリとして「dlib」というのがあるのを知りました。 今回はそのdlibをインストールする方法です。 基本的にはpipが入っていればコマンド一つでインストールできるのですが、自分の…

【python/OpenCV】カメラ映像をキャプチャするプログラム

pythonとOpenCVを使って色々やってきた中で今更な感じですが、今回はカメラ画像を任意のタイミングで気軽に画像として保存できるようにするプログラムです。 画像認識などを行う場合にはサンプルとして様々な画像を取得する必要があったりします。「楽してカ…

【python】pythonを使った最小二乗法でデータから数式を推定する方法

今回はタイトルにある通り、pythonを使ってデータから数式を推定する方法の備忘録です。 最小二乗法とか難しい言葉を使ってはいますが、要は「データをプロットすると一定の法則性があって数式化できそう」という場合に用いる方法になります。 詳しい理論な…

【python/OpenCV】画像の特定の色を抽出する方法

今回はpythonとOpenCVを使って画像の特定の色を抽出する方法の備忘録です。 OpenCVでは2つの方法で特定の色を抽出できるので、その2つの方法を説明していきます。 では始めます。 1:RGBでの色抽出方法 まず一つ目の方法としてRGBでの色の抽出方法がありま…

【python】クラスの継承

rikoubou.hatenablog.com 一つ前の記事では単体テストをやりました。今回はタイトルにある通りpythonでのクラスの継承です。 正直参考資料のページを参照した方がわかりやすいかと思いますが、自分のための備忘録として記事に残しておきます。 では始めます…

【python】単体テストの記述方法

rikoubou.hatenablog.com 以前書いた記事でpythonのクラスとファイル分けをしました。 今回はこの時作成したsumClass.pyを例として単体試験の書き方の備忘録という内容です。 では始めます。 1:単体テスト用の書き方 pythonにはデフォルトで単体試験用のク…

【python】クラスとファイル分け

今まで色々とpythonを使ってソースコードを書いてきましたが、処理を別ファイルに分けたりクラスに分けたりということを特に意識していませんでした。 なので今回はpythonでの「クラスとファイル分け」についての備忘録です。 では始めます。 0:テスト用コ…

【python/OpenCV】OpenCVで動画ファイルの読み込みと保存の方法

今までpythonとOpenCVを使ってWebカメラや静止画の加工などはやっていましたが、動画ファイルを扱ったことがなかったのでその備忘録です。(※ちなみにOpenCVでは音声は扱えません) OpenCVとpythonの他にどうやらopencv_ffmpegを入れてないと使えないような…

【Blender/python】Blender2.8でちょっとした自作アドオンを作ってみた

まだまだリリースは先なBlender2.8ですが、ベータ版が公開されてからはだいぶ安定して使えるようになってきている感じがあります。 そんな中、ちょっとBlender2.8でアドオンを作ってみるか、と思い立って作ってみたのでその備忘録です。 基本的にはBlender2.…

【OpenCV】Webカメラから取得したキャプチャが過去のものになっている時の対処方法

今回はタイトルにあるようにOpenCVで時々ある問題についての解決方法です。 このタイトルにあるような現象は、例えばRaspberry PiなどでOpenCVを使ってWebカメラからの画像を取得するといった場合に起こることがあります。また1台のPCで大量にWebカメラの画…

【Blender/python】OpenCVの瞳認識の値を使ってBlenderのオブジェクトの座標を変更する

rikoubou.hatenablog.com 以前の記事でBlenderでOpenCVを使えるようにする方法を書きました。 今回はOpenCVで瞳の認識をして、その値を使ってBlenderのオブジェクトを動かすというのをやっていきます。また今回のプログラムを実行するにはWebカメラが必要に…

【Blender/python】pythonからBlenderの画面を更新する方法

以前Blenderでアドオンを自作とかしていたのですが、その時に「アドオンを実行したあとBlenderの画面で何かアクションをしないと反映されない」という現象がありました。 今回調べていたらBlenderの画面を更新する書き方がわかったので、その備忘録です。 ・…

【python/OpenCV】画像を手書きっぽく加工するやつを作ってみる

最近SNSなどでとある手書き風のアプリがリリースされちょっと話題になっています。 iPhoneを持っていないのでどのようなアプリかはわかっていないのですが、結果の動画や画像を見る限りではOpenCVで再現できそうでした。そこでタイトルにあるように似たよう…

【python/OpenCV】OpenCVでWebカメラの画像を取得する

OpenCVを入れたのでちょっとWebカメラで遊んでみるというタイトル通りの内容です。 基本的には参考にした内容ほぼ丸パクリです。 1:OpenCVでWebカメラの画像を取得する 以下の記述でできます。 import cv2 # OpenCV のインポート # VideoCaptureのインスタ…

【Blender/OpenCV】BlenderでOpenCVを使えるようにする

今回はタイトルにあるようにBlenderでOpenCVを使えるようにする方法の備忘録です。 別にBlenderでOpenCVを使う必要はないかもしれませんが、調べてやってみたらできたので残しておきます。 以前の記事でやったOpenCVのインストールまで終わっているという前…

【python/OpenCV】インストールしたpythonとOpenCVのパスを確認する

以前の記事でpythonとOpenCVのインストールをしました。 ちょっと気になってそれぞれどこにインストールされてるのか知りたかったのですが、ぱっと見よくわかりませんでした。 調べたところ「pythonを開いてコマンドを叩けば良い」ということがわかったので…

【python/OpenCV】MacOSにpythonとOpenCVの環境を構築する

pythonでOpenCV使ってみるかー、と思い立って環境構築しようとしたのですが、自分が使っているMacのpythonの環境がよくわからなくなってしまっていたので、一度まっさらにしてから入れ直すということをやりました。 色々と戸惑ってしまった部分も多かったの…

【Blender/python】Blenderの自作アドオンの作り方(その3)

rikoubou.hatenablog.com 前回はアドオンの保存場所と2通りのデバッグ方法を確認しました。 今回はいよいよアドオンの中身について触れていきます。また自分が作成したアドオンのソースコードについても紹介しつつ説明していきたいと思います。 1:アドオン…

【Blender/python】Blenderの自作アドオンの作り方(その2)

rikoubou.hatenablog.com 前回の続きです。前回は大まかな自作アドオン作成の流れを説明しました。 今回はアドオンの保存先やデバッグ方法についてです。 1:読み込んだ自作アドオンの保存先 自作アドオンを「Install Add-on from File」でBlenderに読み込…

【Blender/python】Blenderの自作アドオンの作り方(その1)

今回はBlenderで使う自作アドオンの作り方です。 とある単純な処理の繰り返しをするのが非常に面倒だったので「アドオンである程度自動化できないかな」と思い、色々調べてとりあえずは作ることができたのでその備忘録です。少しはプログラムを書いたことの…

【python】UDP通信の方法【ESP32】

最近ネタがなかったのでサボっていましたが、今回pythonを使ってUDP通信ができるということを知ったのでその備忘録です。また、以下の記事の応用で、スマホではなくpythonからUDPで値を送ってみました。rikoubou.hatenablog.com 1:pythonでUDP通信を行う方…