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

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

プログラミング

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

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

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

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

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

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

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

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

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

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

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

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

【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.…

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

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

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

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

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

【Unity/Arduino】UnityとArduinoの加速度センサを連携してみた

rikoubou.hatenablog.com 前にUnityとArduinoをSerialで連携させるのをやってみました。 今度は照度センサではなく、加速度センサを連携させてUnity上の立方体をぐりぐり動かすというのをやっていこうと思います。 1:材料/開発環境 ■開発環境 MacOS Sierr…

【Unity/Arduino】UnityとArduinoを連携してみた

明けましておめでとうござます。ブログのネタがないまま放置していたら気づいたら年が明けていました。 久々の記事ですがタイトルにある通りUnityとArduinoを連携させてみました。 具体的にはArduinoで取得した照度センサーの値をシリアルでUSBから送り、Uni…

【mbed】mbedでLチカをやってみた

www.switch-science.com スイッチサイエンスなどで売られているmbedを手に入れたので、とりあえずボードに載っているLEDをLチカさせてみました。その時の備忘録です。mbedを始めましょう!("Let's get started!" in Japanese) 基本的には上記ページにある通…

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

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

【ESP32】Wifiに接続して時刻合わせを行う

ESP32を使って気温などの値を記録する装置を考える際「いつの値か」というのも記録しておく必要が出てきます。 そのためにはESP32の時刻合わせをする必要があるので、今回はそれについての備忘録です。 ・Wifiに接続して時刻合わせを行う 具体的には以下のス…

【ESP32】SSID、パスワードをSDカードに入れたファイルから読み込んでWiFi接続を行う

今までスケッチにWiFiのSSIDやパスワードをベタ書きしていましたが、スケッチを書き換えなくてもWiFiの接続先を変えたい場合があるかもしれません。そこで、SDカードにあるファイルを読み込んでWiFiに接続するスケッチを書いてみました。 1:材料 ・ESP32 D…

【ESP32】ST7735RのTFT液晶にbitmap画像を表示させる

amazonでESP32で使えそうな液晶を探していたら、このような商品を見つけました。HiLetgo 1.8インチ ドライバ IC ST7735R SPIインタフェース 解像度128*160 TFT液晶ディスプレイモジュール PCBが付け for Arduino 51 この液晶にESP32を使ってbitmap画像を表示…

【python】MacOSでdocomo音声認識APIを使ってみる

音声認識をやってみたいなーと思って色々調べたところ、簡単に登録できてかつ無料なAPIであるdocomoの音声認識APIというものを見つけました。dev.smt.docomo.ne.jp 今回はこのdocomo音声認識APIの登録からMacOSでのpythonを使った簡単なサンプルまでを紹介し…

【ESP32】OLEDモジュール(M096P4BL)を使ってみる

ご無沙汰しております。最近ネタがなくてブログの更新をサボっていました。が、ESP32でOLEDモジュールを使うというネタができたので残しておきます。 1:材料 今回使ったOLEDは以下のものです。多色表示できるものもあるみたいですが、自分は青色単色のもの…

【ESP32】設定管理ライブラリ(不揮発性領域の書き込みと読み込み)について

今回はタイトルにある通り「ESP32での不揮発性領域」についてです。ESP32で電源を切っても保存される領域の利用方法について調べてみると、jsonファイルだったりをアップロードして云々とある方法が多かったのですが、簡単にできる方法を紹介している記事を…

【ESP32】analogReadにおいての注意点2

前回の記事に続いてのanalogReadについての注意点です。 analogReadをしていて色々と問題が発生したので記録しておきます。 ・analogReadをする近くのピンで細かな信号を読み取らない analogReadを行う際に、チップでの処理の影響なのかすぐ横のピンで細かな…

【ESP32】マルチタスク中でμs単位でdelayをかける

rikoubou.hatenablog.com ↑以前ESP32で赤外線の送受信を行うプログラムを紹介しました。 このプログラムの中で「ESP32にdelayMicrosecondsがない」としてシステム時間の計算をして擬似的にμsのdelayを行なっていました。しかし最近色々調べてみると、実はESP…

【ESP32】Wifi接続時のanalogReadについて

最近特にネタがなかったのでブログを更新していませんでしたが、タイトルにあるような状況で色々と問題に出くわしたので残しておきます。 1:Wifi接続時にanalogReadをできないピンが存在する 今回出くわした問題は「Wifi接続時にanalogReadできないピンが…