旅行好きなソフトエンジニアの備忘録

プログラミングや技術関連のメモを始めました

【OpenCVSharp】 ヒートマップを作成する

OpenCVSharpを使ってヒートマップを描くプログラムのメモです。ヒートマップは赤⇒緑⇒青の順で遷移するため、HSV空間を使い、その後RGB空間に戻すと簡単に作成できます(OpenCVでは0が赤、60が緑、120が青に相当します)。 // 画像サイズ const int size = 10…

【WPF】 ボタンのサイズをリソースで指定する

作っているアプリケーションにボタンが沢山あるのですが、それらの幅、高さは全て共通なのでハードコーディングではなく一括管理したいと考えました。そのやり方ですが、以下の2ステップになります。 ① App.xamlに以下を追加(xmlns:sysと<sys:Double ...>の三行を追加して</sys:double>…

【WPF】 続・スクリーンショットを撮り続けて動画に保存する

以前スクリーンショットを撮り続けて動画に保存する記事を書いたのですが、実はMicrosoft Expression Encoderを使えばやりたいことは出来たようです。 ni4muraano.hatenablog.com Microsoft Expression Encoderはここからダウンロードできます。NuGetからも…

【WPF】 BitmapSourceクラスをbitmapとして保存する

BitmapSourceクラスをbitmapとして保存する方法を探していたのですが、以下に書かれていたのでメモします。 stackoverflow.com public void SaveBitmapSourceToFile(BitmapSource bitmapSource, string filePath) { using (var fileStream = new FileStream(…

【WPF】 UIElement上のマウスイベントが発生しない

Imageの上にCanvasを置いて、CanvasにLineやEllipseをマウス操作を通じて描くことで、仮想的にImage上に絵を描いたように見えるようにしたいと思っています。 <Image .../> <Canvas .../> そこでCanvasにMouseDownイベントを付けたのですが、Canvasをクリックしても一向にMouseDownイ</canvas></image>…

はてなブログでtexの数式が上手く表示されない時の対処法

texの数式が思った通りに表示されず困っていたのですが、こちらのサイトのおかげで無事解決しました。 estrellita.hatenablog.com

【Python】 季節性分解実行時のエラーへの対処

季節性分解のやり方を調べていると、seasonal_decomposeメソッドを利用すれば良いことが分かりました。ただ、実行すると TypeError: ‘numpy.float64’ object cannot be interpreted as an integer というエラーが出てしまいました。 import statsmodels.api …

【Python】 ピリオドグラムを描画する

グラフの周期を調べるためピリオドグラムの描画方法を調べていたのですが、statsmodels.tsa.stattoolsのperiodogramを使えば良いようです。 from statsmodels.tsa.stattools import periodogram data = np.array([0.0, 1.0, 0.0, -1.0, 0.0, 1.0, 0.0, -1.0,…

【WPF】 画像ファイルをBitmapImageに読み込むと、その画像ファイルを削除できなくなるケースの対処法

Imageクラスに画像を表示するため下記のようなコードを書くと、画像ファイルを消去するときに例外が出てしまいました。 // 画像を読み込む var bmp = new BitmapImage(new Uri(filePath)); // Imageに表示する SomeImage.Source = bmp; // もう画像を表示す…

【Python】 フレームワークによるBatchNormalizationのmomentumの違いについて

KerasのBatchNormalizationの引数momentumはデフォルト値が0.99です。一方でTorchのBatchNormalizationの引数momentumはデフォルト値が0.1のようです。 いくらフレームワークが違うといっても、ここまで初期値が違うものかと調べてみると、Kerasは下記式のα…

【Python】 AUC計算方法のメモ

PythonでAUCを計算する方法を探していたのですが、下記がコードも掲載されており詳しかったです。 qiita.com from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import roc_curve, auc classifier = RandomForestClassifier() pred…

【ディープラーニング】 "37 Reasons why your Neural Network is not working"のまとめ

下記の記事がためになったため、まとめてみました。 blog.slavv.com まず調べる事 上手くいくことが分かっている事から始める。例えば画像であればVGGを使ってみる等。ロスも独自の定義ではなく標準のものを使う 正則化やデータ拡張等のオプションを全て止め…

【WPF】 DataGridの一番下に表示される空白行を表示させない方法

CanUserAddRowsをfalseに設定すると空白行が表示されなくなります。

【料理】 だしの素で簡単!そうめんチャンプルー

ここを参考に作りました。 cookpad.com 材料(2人分) そうめん 2束 しめじ 1パック 長ネギ 1本 ツナ 1缶 醤油 大さじ1.5 ごま油 大さじ1 塩 ひとつまみ 顆粒だしの素 小さじ0.5 作り方 鍋に湯を沸かす 長ネギは1cmの斜め切りにする しめじの石づきを切り落…

【料理】 ズッキーニのシャキッとマヨ炒め

ここを見て作りました。 cookpad.com 材料 (2人分) ズッキーニ 1本 エノキ 1/3袋 ベーコン 2枚 マヨネーズ大匙 1と1/2 しょうゆ小匙 1弱 塩少々 作り方 ズッキーニを厚さ8ミリくらいの輪切りにする。 エノキは根元を切って、小房に分ける。 ベーコンは一口…

【ディープラーニング】 セマンティックセグメンテーション手法のまとめ

ディープラーニングを利用したセマンティックセグメンテーションについてまとめてあるページを見つけたのでメモします(A 2017 Guide to Semantic Segmentation with Deep Learning)。 セマンティックセグメンテーションとは? セマンティックセグメンテーシ…

【Python】 KerasでU-Net構造ネットワークによるセグメンテーションをする

ここ(Daimler Pedestrian Segmentation Benchmark)から取得できるデータセットを使って、写真から人を抽出するセグメンテーション問題を解いてみます。U-Netはここ( U-Net: Convolutional Networks for Biomedical Image Segmentation )で初めて発表され…

【WPF】 簡易動画プレーヤーを作成する

今回は動画のプレーヤーを作ってみます(簡易的なものですが)。調べてみるとWPFにはMediaElementというものがあって、これを使ってみると良さそうです。 まずはxamlが以下のようになります。

【WPF】 スクリーンショットを撮り続けて動画に保存する

タイトルにあるようにスクリーンショットを撮り続けて動画に保存する方法のメモをします。 まずはスクリーンショットを撮る部分ですが、スクリーンショットをそのまま動画にすると容量がすごいことになるので、スクリーンショットを撮る⇒縮小するまでを作成…

【Python】 PythonでC#のFileSystemWatcher相当のクラスを作成する

C#側がファイルを作成し、それをトリガとしてpythonが起動するようにしたいと思っています。そのため、C#のFileSystemWatcherに相当するようなクラスが欲しいと思ったのですが、以下のサイトに書かれていました。 qiita.com import time from watchdog.obser…

【WPF】 モニターの解像度を取得する

System.Windows.PrimaryScreenWidth System.Windows.PrimaryScreenHeight で取得できます。 以下のサイトがよくまとまった情報源になります。 mseeeen.msen.jp

【WPF】 透明なウインドウの作り方

XAMLのWindowタグに下記3つを加えるだけです。作ってみると完全に透明なウインドウが作成され、ウインドウ右上部の×ボタンも消えてしまいました。そのため、例えばEscボタンを押したらWindowをCloseするような処理が必要でした。 WindowStyle=“None” Allows…

【Python】 動的なデフォルト引数を指定するときにはNoneとドキュメンテーション文字列を使う

書籍”Effective Python”項目15のメモです。Pythonを始めて半年経ちますが、真面目に言語自体の勉強をしていなかったので空き時間使ってまだ知らなかった事のメモをします。 Pythonはデフォルト引数をモジュールロード時の一回しか評価しないので、動的な値…

【Python】 クロージャ内外で変数を共有する

書籍”Effective Python”項目15のメモです。Pythonを始めて半年経ちますが、真面目に言語自体の勉強をしていなかったので空き時間使ってまだ知らなかった事のメモをします。 Pythonにはnonlocalというキーワードがあり、これによりクロージャ内外でデータを…

【Python】 サーバーの現在時刻を取得する

Raspberry PiからサーバーのMySQLデータベースにセンサデータを書き込む時に、センサデータ取得時刻も書き込んでいるのですが、Raspberry Pi側の現在時刻がやたらずれるため、サーバーの現在時刻を取得して補正しておくことにしました。サーバーの現在時刻を…

【Python】 enumerateのカウンタ初期値を設定する

書籍”Effective Python”項目10のメモです。Pythonを始めて半年経ちますが、真面目に言語自体の勉強をしていなかったので空き時間使ってまだ知らなかった事のメモをします。 enumerateは知っていたのですが、カウンタの初期値を第二引数で設定できることを…

【Python】 ジェネレータ式の生成

書籍”Effective Python”項目9のメモです。Pythonを始めて半年経ちますが、真面目に言語自体の勉強をしていなかったので空き時間使ってまだ知らなかった事のメモをします。 リスト内包表記は入力が大量な時に膨大な量のメモリを消費しかねない問題があるとの…

【Python】 リストから一つおきにデータを取り出す

書籍”Effective Python”項目6のメモです。Pythonを始めて半年経ちますが、真面目に言語自体の勉強をしていなかったので空き時間使ってまだ知らなかった事のメモをします。 サンプリングレートが高すぎるセンサのデータ数を減らしたいことがあったので、この…

【Python】 リストのコピー方法

書籍”Effective Python”項目5のメモです。Pythonを始めて半年経ちますが、真面目に言語自体の勉強をしていなかったので空き時間使ってまだ知らなかった事のメモをします。 リストのスライスの時に添え字startとendを省略するとコピーになる。 a = [1, 2, 3,…

【Python】 PEP8スタイルガイドに従う

書籍”Effective Python”項目2のメモです。Pythonを始めて半年経ちますが、真面目に言語自体の勉強をしていなかったので空き時間使ってまだ知らなかった事のメモをします。 名前付けの規約 関数、変数、属性 ⇒ lowercase_underscore protected属性 ⇒ _leadin…