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

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

プログラミング

【python】jsonファイルの扱いについて

pythonを使っていてjsonファイルを扱いたくなる時があります。 扱うのは簡単なのですが、文字コードあたりと絡むと面倒だったり似たような名前の関数でどっちがどっちだっけ、みたいになって自分も混乱していたので記事にしようと思った次第です。 今回はそ…

【python】日時を扱うdatetimeについて

pythonで日時の計算をしたい場合があります。 その場合は標準ライブラリであるdatetimeを使うことになりますが、毎回調べたりするのが面倒なのでその備忘録として記事にした次第です。 では、始めます。 1:datetimeで現在日時を取得する まずはよくある使…

【python】unittestでmockを使ってテストケースを書く

以前の記事でテストケースを書く方法を紹介しました。 【python】単体テストの記述方法 - ソースに絡まるエスカルゴ 簡単なプログラムであれば上記の内容だけである程度テストはできると思いますが、他のクラスからの呼び出しだったり、対象の関数が何回呼ば…

【python】pygameでスプライトアニメーションと画像の変形、回転

以前にpygameでタッチパネルを使う簡単なサンプルの記事を書きました。 【Raspberry Pi/python】pygameのインストールとタッチパネルを使ったサンプル - ソースに絡まるエスカルゴ 今回はもうちょっとpygameをちゃんと使ってみようと思い、タイトルにあるよ…

【Raspberry Pi/python】Raspberry PiのCPU温度などを取得する

Raspberry Pi 4は発熱がものすごく、普通に使っていてもCPU回りを触ると温かくなります。 ファンやヒートシンクはほぼ必須なのですが、具体的にどれぐらいの温度になるのかを知りたくて調べたところ簡単にCPUの温度などの情報を取得できることがわかりました…

【Raspberry Pi/python】pygameのインストールとタッチパネルを使ったサンプル

Raspberry Pi用に使っている小型ディスプレイがタッチパネルにもなっているので、タッチ機能を使った何かができないかと調べていたらpygameというライブラリを見つけました。 このライブラリはpythonでゲームを作るためのものらしいのですが、タッチパネルの…

【python】別スレッドのExceptionを検知してそのスレッドを再起動させる

pythonの記事は色々書いてきたものの、スレッドについては今まであまり触れてきませんでした。 自分の勉強がてら「別スレッドのExceptionを検知してそのスレッドを再起動させる」ことができたのでその備忘録です。 では始めます。 1:スレッドの書き方 pyth…

【python】pythonでHTTP通信を行って天気を取得する

pythonでHTTP通信をやったことなかったことに気づいたのでやってみた備忘録です。 やっていることはほぼコピペなので詳しく知りたい方は参考資料のページを参照してください。 では始めます。 1:requestsのインストール HTTP通信を行うにはrequestsをimpor…

【python/OpenCV/Pillow】Pillowを使ってgifアニメーションを作成してみる

rikoubou.hatenablog.com 過去に上記の記事でpythonとOpenCVの環境を構築しました。 pythonとOpenCVを使ってgifファイルは作成できないのか、と思い調べてみるとPillowというものを組み合わせればgifファイルを作成できることがわかったのでその備忘録です。…

【html/javascript】Local storageなるものを使ってみる

色々あって久々の更新になります。 最近ちょっとhtmlとかjavascriptとかをやっていて「同じブラウザで開いたページ間でデータのやり取りとかできないのかな?」という疑問を持って調べていると「Local storage」という機能があることを知りました。 今回はこ…

【VSCode】Live Shareの導入と簡単な使い方

VSCodeにはLive Shareという拡張機能があります。 これを使えば画面共有などが簡単にできるので、今回はその導入方法と簡単な使い方の説明をしていきます。 では始めます。 1:Live Shareをインストールして使えるようにする VSCodeを立ち上げ、左側の拡張…

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