読者です 読者をやめる 読者になる 読者になる

Javascript 配列の使い方

要素の追加 先頭に追加 unshift var array = ['b', 'c']; array.unshift('a'); console.log(array); // ['a', 'b', 'c'] 末尾に追加 push var array = ['a', 'b']; array.push('c'); console.log(array); // ['a', 'b', 'c'] 指定した位置に一つ以上追加 spl…

JavaScriptの関数

JavaScriptの関数にはfunction文とfunction式の二種類あります。function文 別名、「関数宣言」です。 このように、function文はc++などでもお馴染みの関数宣言になります。 ただし、JavaScriptではコンパイル時に関数ができるので、関数宣言を呼び出した部…

HTMLのタグ集

タグとは<>で囲まれたもののことをいう。!DOCTYPE html:ドキュメントタイプを宣言する は、文書がHTML5で作成されたものであることを宣言するために、文書の先頭(タグより上)に記述するDOCTYPE宣言。 HTMLは、バージョンによって使用できるタグや属性が異な…

ImageNet Classification with Deep Convolutional Neural Networks

今や当然のように身近にあるDeep Learning、、、。 そろそろ勉強しなきゃですよね。 今日はこちらのスライドに沿ってお話していこうと思います。ILSVRC Deep Learningについて紹介するスライドを見ると必ずと言っていいほど目にする「ILSVRC」という文字。 …

ファイルの選択ダイアログ

アプリケーションでファイルを選択するダイアログが出てきますが、これを自分のコードでも書いてファイルを指定したいですよね?(僕だけか??)このダイアログを出すためにはGetOpenFileName()関数を使います。 BOOL GetOpenFileName(LPOPENFILENAME lpofn…

ハンドルとは

APIに引き続き、僕がよく聞くけどあまりよくわかっていないものの一つとして、今回は「ハンドル」について調べます。 ハンドルとは? ハンドルとは、ファイル等を識別する番号のこと。 実際は、そのポインタを整数にキャストしたものである。 ウィンドウハン…

dllの作り方

先程dllとlibについての話を簡単に書きました。 そこでdllについてもう少し理解を深めるために、作り方を通して勉強していこうと思います。 何を作るのがゴールになるのか 最終的なゴールは次の3つを作成することになります。 | 拡張子 | 説明 | | :—: | :—:…

APIとは?

APIってよく聞きますが、きちんと理解している人は意外と少ないのではないかと思います。 今日はAPIについて簡単にでも分かるように書きたいと思います。 APIとは wikipediaの説明では アプリケーションプログラミングインターフェース(API, Application Pro…

libとdllの違い

libファイルとは? lib = Static Link Library libは静的リンク。これは、簡単にいうとライブラリをプログラムに組み込み、実行ファイル(exe)に埋め込まれたもの。 dllファイルとは? dll = Dynamic Link Library dllは動的リンク。これは、簡単にいうとライ…

LaTeXの痒い所に手が届く

caption内で改行する方法 文章中では改行は基本的に「\\」を使いますが、図や表のキャプション中では使えません。そこで、 \newline を使えば大丈夫です。 ※ただし、\newlineの後に半角スペースを入れることを忘れずに。複数行まとめてコメントアウト コメン…

csvファイルの読み込み

読み込み(入力) csvモジュール import csv f = open('data.csv', 'rb') dataReader = csv.reader(f) for row in dataReader: print(row) pandasモジュール import pandas as pd data = pd.read_csv('data.csv') 書き出し(出力) import csv f = open('out…

自己組織化マップ(SOM: Self-organization maps)

自己組織かマップは、多次元データの順序付けられた代表(=秩序だった表現)を作成するもので、複雑さを単純化し、有意義な関係性を明らかにするために使用されている。 教師なし学習を行うニューラルネットの一種である。 SOMはn次元ベクトルを平面に写像…

MPEG-7

そもそもMPEGって何? MPEGとはISO(国際標準化機構)の「Moving Picture Expert Group(動画の専門団体)」による規格のこと。 MPEG-7はMPEG-1,2,3などとは異なり、動画データのエンコードが目的ではなく、XMLをベースとしたメタデータ記述によるマルチメデ…

OpenCVの動画のプロパティを取得する

// 動画読み込み cv::VideoCapture video("filename"); // 画像の幅 int width = video.get(CV_CAP_PROP_FRAME_WIDTH); // 画像の高さ int height = video.get(CV_CAP_PROP_FRAME_HEIGHT); // 総フレーム数 int count = video.get(CV_CAP_PROP_FRAME_COUNT);…

std::stringをconst char*に変換

#include<iostream> int main(int argc, char* argv[]) { std::string str("string"); const char* cstr = str.c_str(); return 0; }</iostream>

ファイルの存在を確認する

#include<Windows.h> #include<iostream> #include<Shlwapi.h> #pragma comment(lib, "Shlwapi.lib") int main(int argc, char* argv[]) { char path[] = ""; if (PathFileExists(path)) { std::cout << "file exists." << std::endl; } else { std::cout << "file doesn't exist." << std::e</shlwapi.h></iostream></windows.h>…

回帰分析

回帰分析とは? 変数間の因果関係の方向性を仮定し、1つまたは複数の独立変数による従属変数の予測の大きさ(説明率)を検討する分析のこと。 - 単回帰分析:独立変数が1つの場合 - 重回帰分析:予測変数が2つ以上の場合 単回帰分析 単回帰分析では、独立変…

matplotlibの使い方

今回はmatplotlibについてです。二次元グラフ import numpy as np import matplotlib.pyplot as plt x = np.arange(-3.0, 3.0, 0.1) y = np.sin(x) plt.plot(x, y) plt.show() 三次元グラフ import numpy as np import matplotlib.pyplot as plt from mpl_to…

"sys"モジュール & "os" モジュール

よく使う"sys"モジュールと"os"モジュールの使い方の覚書。sys モジュール 「sys」は、Pythonのインタプリッタ、実行環境に関係した変数や関数がまとめられたライブラリ。 import sys sys.path sys.pathはPythonパスをリストにして返す。リストの一番目の要…

KLTトラッキング

オプティカルフローや物体追跡について勉強するときにまず出てくるのがKLTトラッキング(Good Features To Track)とも呼ばれる。 今日はそんなKLTについて。 この方法は「Good Features To Track」という論文で発表されている。 その名の通り、追跡するのに…

カイ二乗検定

ピアソンのカイ二乗検定(Pearson's chi-square test) カイ二乗検定のうち最も広く用いられている。 帰無仮説「観察された事象の相対的分布がある頻度分布に従う」という仮説を検定するもの。 観測値、帰無仮説から導き出される期待値を用いて次式であらわさ…

分散共分散行列

分散 まずは分散とは何かということから。 分散とは「各データが平均値からどれだけ離れているか」という、データのばらつき具合を表す。 具体的に、分散は「(各データの平均値からの距離)の二乗の平均」。 分散の平方根を取ったものが標準偏差と呼ばれる…

主成分分析(PCA)

今回は主成分分析(Principal Component Analysis)について勉強します。 これは統計データから互いに無関係の成分を取り出して、観測地をそれらの成分の線形結合で説明することを示す。 主成分分析の定式化 次元空間における主成分の軸をとする。 点の各軸へ…

CommandLineParser[OpenCV]

以前にコマンドラインについての記事を書いたことがありました。 今回はOpenCVの関数を用いて、コマンドラインを読み込ませるプログラムを書いてみようと思います。 CommandLineParser CommandLineParser、、、。 なんだチミはってか。そうです。こいつがコ…

上三角行列と下三角行列の性質

今回はこちらの記事とこちらの文書を参考にします。 定義 の正方行列について 「ならば」を満たす行列を上三角行列(upper triangular matrix) 「ならば」を満たす行列を下三角行列(lower triangular matrix) という。 行列式の定義 三角行列の行列式を考える…

特異値分解

MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ["\\(","\\)"]] } }); 今回はこちらのスライドとこちらのスライドとこちらのスライドを参考(ほぼ和訳)して特異値分解について理解したいと思います。 Introduction $n$ 次元ベクトルの解を求めた…

Atomいろいろ

かなり久しぶりの投稿になります。お休みしていてすみませんでした。新年から(とはいえ今日は大晦日ですが)また定期的に投稿していこうと思います。 今回はAtomというテキストエディタについてです。 "AtomはGitHubの創業者Chris Wanstrath氏が「Web技術を…

CMakeとは

プログラム言語の文法を習うと、実際に実用的なプログラムを書くことになります。 このとき大抵の場合は、簡単に実用的なプログラムを書くための関数などが入ったライブラリというものを使います。 このライブラリはクロスプラットフォーム(様々な環境下で…

計算量について

計算量とはなんぞや プログラミングを初めて少しすると、そのプログラムは重いとか、何fpsでしか動かないとか、省メモリだとかいう言葉を耳にすることがあると思います。 これは結局プログラムを実行した際に必要な資源がどれくらいなのかということを言って…

コマンドラインとは

忙しくてなかなか更新できませんでした。お久しぶりです。 今回はプログラムを組んでいると、必ず出会うコマンドライン。今日はコマンドラインの話をします。コマンドラインとはなんぞや プログラムを始めたばかりの人はやりたいことはあるけど、知らない言…

pythonでwaveファイルを扱おう

今回は音声ファイルの王道のwaveファイルをpythonで扱ってみましょう。 早速コードを見ながら行きましょう。 #waveファイルを扱うためのモジュールをimport import wave #音声ファイルを開く fWave = wave.open('filename.wav', 'rb') #'rb'は読み込み専用 #…

カメラキャリブレーション1

今回はカメラキャリブレーションについてです。 今まで音声処理が多かったですが、筆者は本当は画像処理屋さんです(笑) カメラキャリブレーション(camera calibration)とは カメラキャリブレーションとはカメラのレンズによる歪みを補正したり、カメラの内部…

パワースペクトル密度

音声処理を初めて半月、まだまだ知らないことだらけ、、、。 今日はパワースペクトル密度についてです。 なんか物理でやったような、、、。 パワースペクトル密度とは パワースペクトル密度とは信号が周波数についてどのように分布しているかだそうです。 な…

音声処理の基本を色々

先日から音声処理を色々やっていると書かせていただいています。 ですが、環境構築の話ばっかりで肝心な音声処理を書いてないじゃないかということで、今回は音声処理をするに当たって基礎的な部分をまとめてみようと思います。 音声処理をするための言語 音…

pythonでcsvファイルの読み書き

pythonをよく使うようになって、やはりファイルの読み書きについては避けられないところです。 今回はcsvファイルの読み書きについて説明します。csvファイルの読み込み 下のコードを見ながら説明を見てください。 まずはcsvモジュールをimportします。 次に…

pythonからFFmpegを使おう!(ffmpy)

先ほどプログラム内でmp4からwavに変換して、音声処理をしたいということでFFmpegをダウンロードしたのですが、色々調べたらpythonにffmpyを入れたら、簡単にFFMpegが使えるらしいwww ということで、ffmpyを入れてpythonで回してみましょう! ffmpyの導入 筆…

FFmpegのダウンロード

先日からpythonで音声処理をしているのですが、音声の元が僕の場合は動画ファイル(mp4など)なので、今まではRealPlayer Converterでwavに変換していました。 ですが、プログラム内で持ってる動画さえ投げれば、音声処理をしてくれるようにしたくて、今回はコ…

pythonの基礎とNumpy

pythonはとても便利なのですが、どうも関数や書き方がイマイチ身についていないので、メモ書きをしておきます。 便利な機能いろいろlistのいろいろ 初期化 >>> list = [] 値の追加(C++でいうvectorのpushback) >>> list.apend(10) 一個飛ばしで取得 >>> vec[…

Visual StudioでPythonを使う

筆者は常日頃、VC++でコーディングをしています。 ある日、音声処理がしたくて、とりあえずpythonが便利だということを聞き、pythonでコーディングしたが、やはりVC++でコーディングしているのもあって、visual studioを使いたい。 実に使ってみた感想として…

windowsにSPTKをインストールする

毎度のことですが、筆者はPC初心者なので、インストールに躓きます(笑)。 今回はSPTKです。 SPTKとは SPTKとは、Speech Signal Processing ToolKitの略で、音声処理ができるライブラリになっています。 筆者はアホなので、pythonで音声処理のプログラムを書…

Linuxコマンド集

筆者はwindowsユーザーでCygwinを使ってLinuxの仮想環境を作っています。 そもそもwindowsでコマンドを筆者はあまり使わないので、Linuxコマンドをまとめておこうと思います。 コマンド集 gcc...「.c」のコンパイルをするex) $gcc hello.c -o hello「-o」の…

MinGW, Cygwinについて

MinGW、Cygwinとは 非常に初歩的なことですが、書いておきます。 MinGW、Cygwinはともにwindows上でUNIX流のOSの環境を再現するものである。 大まかに違いを言うと、Cygwinが総合的なものであるのに対して、MinGWはMinimalist GNU for Windowsの略であり、GC…