【Python】 "Deep Learning Prerequisites: The Numpy Stack in Python" Lecture13のメモ
udemyで無料オンラインコースがいくつかあるのですが、Numpyの無料講座を受講中です。その中で知らなかった事をメモしておきます。
レクチャー13からPandasの話になるのですが、Pandasは使えた方が良いのでしょうか。。。今のところ特に困っておらず(困っていることに気付いていないだけかもしれません)、モチベーションは薄いですが講義受けます。
1. Pandasを使ってcsvファイルを読み込む
import pandas as pd data = pd.read_csv('csv_example.csv')
2. 読み込んだデータはinfoやheadで内容を確認できる
import pandas as pd data = pd.read_csv('csv_example.csv') # 読み込んだデータの表示 data.info # 指定した行数データを表示する(先頭5行を表示) data.head(5)
【Python】 "Deep Learning Prerequisites: The Numpy Stack in Python" Lecture10のメモ
【Python】 "Deep Learning Prerequisites: The Numpy Stack in Python" Lecture4のメモ
【WPF】 RadioButtonをユーザーが触れないようにする
IsHitTestVisibleとIsTabStopをFalseに設定します。IsHitTestVisibleのみをFalseにした場合、Tabキーを押してRadioButtonに移動し、スペースキーを押すとRadioButtonをチェックできてしまうため、両方Falseにする必要があります。
<RadioButton Content="ReadOnlyRadioButton" IsHitTestVisible="False" IsTabStop="False"/>
【OpenCvSharp】 ポインタを利用してMatクラスの画素にアクセスする
OpenCvSharpのMatクラスを走査する時、いつもAtメソッドを利用していたのですが、ポインタを使って走査する方法を見つけたのでメモします。
リンク先はカラー画像に対して走査していますが、自分はグレースケール画像を走査したかったので、その場合のコード以下のようになります。unsafeキーワードを利用可能にするため、”アンセーフ コードの許可(F)”にチェックを入れることを忘れないで下さい。
unsafe { byte* b = mm.DataPointer; for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { byte valueAt = b[0]; b += 1; } } }
【OpenCV】 画像に傾いた四角形を書き込む
RotatedRectは直線を利用して描くしかないようです。。。
// 画像を読み込む Mat source; imread("lenna.jpg").copyTo(source); if (source.empty()) { throw runtime_error("Failed to open image"); } // RotatedRectを描画する Mat destination; source.copyTo(destination); RotatedRect rect = RotatedRect(Point2f(40.0, 40.0), Size2f(60.0, 20.0), 20.0); Scalar color = Scalar(0, 0, 0); int thickness = 2; Point2f vertices[4]; rect.points(vertices); for (int i = 0; i < 4; ++i) { line(destination, vertices[i], vertices[(i + 1)%4], color, thickness); }
【OpenCV】 画像に楕円を書き込む
ellipseというメソッドを利用すると画像に楕円を書き込めますよ、というメモです。
// 画像を読み込む Mat source; imread("lenna.jpg").copyTo(source); if (source.empty()) { throw runtime_error("Failed to open image"); } Mat destination; source.copyTo(destination); RotatedRect rect = RotatedRect(Point2f(40.0, 40.0), Size2f(60.0, 20.0), 20.0); Scalar color = Scalar(0, 0, 0); int thickness = 2; // 楕円を書き込む ellipse(destination, rect, color, thickness);