chevron_left

メインカテゴリーを選択しなおす

cancel
techno_memo https://sd08419ttic.hatenablog.com/

個人用の技術メモ python/ROS/AI系のソフトウェア・ツールなどの情報を記載 データ分析等で使える便利なpythonスクリプトをすぐに使える ようにgithubに公開しています

sd08419
フォロー
住所
未設定
出身
未設定
ブログ村参加

2019/02/27

arrow_drop_down
  • loggingを用いた動作ログ出力

    概要 pythonのライブラリloggingを用いた動作ログの出力方法についてまとめる logger loggingはpython標準のログ出力用ライブラリであり、ソフトの動作(デバッグ用情報、エラー、例外など)の発生時刻やレベルを管理してログファイルに出力することができる。 loggerモジュールは下記の手順で使用する。 1. loggerの設定 loggerはログの生成・受け渡し等を管理するオブジェクトである。ログを出力ために、ソフトの最初でloggerを生成する。loggerはエラーの種類によって出力する対象を下記の5つのレベルで分類できる。 エラーレベル 値 使用例 DEBUG 10 …

  • plotlyによる3Dグラフ描画

    概要 pythonのライブラリ plotlyを用いて3Dグラフおよびアニメーションの表示をする方法について記述する 3Dグラフの表示 plotly で3次元の散布図を描画する例を下記に示す。scatter_3dを呼び出し3dxyzの座標を与えればグラフを描画できる。 import plotly.graph_objects as go import plotly.express as px import numpy as np import pandas as pd x = np.arange(20) y = np.random.rand(20) *20 z = np.random.rand(2…

  • Postgres SQLの導入・環境設定・DBの読み込み

    概要 PostgreSQLの導入とDBの基本操作についてまとめる PostgreSQLの導入 Ubuntu 20へのPostgreSQLの導入は下記コマンドを実行する。 sudo apt update sudo apt install postgresql postgresql-contrib 合わせてPostgreSQLのGUI管理ツールである"pgadmin4"をインストールする。 sudo curl https://www.pgadmin.org/static/packages_pgadmin_org.pub sudo apt-key add sudo sh -c 'echo "de…

  • plotlyによるグラフ描画

    概要 pythonのライブラリ plotlyを用いて数値データをグラフ描画する。 plotly plotlyはブラウザでインタラクティブに操作可能なグラフを生成することができる。 本記事では基本的な使い方と設定方法についてまとめる。 基本的なグラフの描画 plotlyのインストールは下記pipコマンドで行う。 pip install plotly 基本的なグラフの描画方法は公式チュートリアルの下記ページにまとめてある。 [https://plotly.com/python/line-charts/:embed:cite] 上記にはplotly expressという高レベルapiによる描画方法と…

  • matplotlibによる3Dグラフ描画

    この記事の目的 matplotlibを用いて3Dグラフを描画する方法についてまとめる matplotlibを用いた3D線グラフ・散布図の描画 matplotlibで3Dグラフを描画する場合は下記のように実装する。 (1) 3D描画用モジュールのインポート matplotlibのインポート時に3次元描画に関するライブラリ(mpl_toolkitsのAxes3D)をインポートする。 import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D (2) 3D軸設定 描画する軸の設定時引数projection='3d'を…

  • C言語用コーディングスタイルの設定(VS Code)

    この記事の目的 C言語用のコーディングスタイルの設定方法について記述する。 clang_format によるコーディングフォーマット設定 clang_formatはC言語用のフォーマットツールであり、本ツールを用いることでコードを設定値に応じた書式に自動で変換することができる。 VS codeを用いた使用方法を下記に示す。 1 Clang-formatの導入 Ubuntuの場合下記コマンドを用いてaptからclang-formatをインストールする。 sudo apt install clang-format Windowsの場合下記サイトから最新のLLVMをダウンロードし、インストールする。…

  • Visual Studio Code C言語開発環境の設定 (Linux/gcc)

    この記事の目的 Visual studio codeを用いてLinux上でgccを用いたC言語開発をする時の設定方法について記述する。 1. 必要なツールのインストール 下記コマンドでgcc(build-essentialはコンパイラ・ライブラリ・makeツール)、gdb(デバッグ用ツール)をインストールする sudo apt install build-essential sudo apt install gdb Visual studio codeには下記拡張機能をインストールする。 c/c++ extention pack (C開発環境、関連ツール一式) marketplace.visu…

  • VS codeでRemote SSH/SFTPを利用した開発環境の構築

    この記事の目的 Visual studio codeを用いて他PCのプログラムを変更しやすいRemote SSH開発環境構築をする方法について記述する 1. Visual studio code へのRemote SSH 拡張機能 Remote Developmentをインストールする marketplace.visualstudio.com リモート先のLinux PCには事前にopenssh-serverをインストールしておく。 opensshの導入方法に関する参考サイト codechacha.com 導入後にsshの設定を行う。拡張機能の『リモートエクスプローラ』の『SSH Target…

  • Visual studio code を用いたgit操作

    この記事の目的 1. Visual studio codeを用いたgit操作 2. 拡張機能 4.変更履歴の確認 5.ブランチの作成・移動 6.変更の反映 (コミット/プッシュ) 7.リモートリポジトリの変更内容取得(プル)、コンフリクトの修正 この記事の目的 Visual studio codeを用いてgit操作をする方法についてまとめる。 1. Visual studio codeを用いたgit操作 git操作の手段としてはコマンド以外にvisual studio code、source treeなどのツールを利用する方法がある。 Windows/Linuxに依存せず利用可能でソースコード…

  • ROS2 navigation stack odometryの出力

    この記事の目的 1. スクリプトの構成 1. publish/subscribe処理の実装 2. 位置情報・TFの計算方法 この記事の目的 ROS2のnavigation stack用にpython scriptからodometryを出力する方法をまとめる。 ROS2とnavigagiton2 は下記記事に従って導入済みであることを前提とする。 sd08419ttic.hatenablog.com 1. スクリプトの構成 ROS2のpythonスクリプトの記述の実装方法は下記のチュートリアルに記載されている。 docs.ros.org ROSと異なり、rclpyのNodeを継承して処理を記述し…

  • ROS2導入・初期設定

    この記事の目的 1. ROS2の導入 2. チュートリアルの実施 3. navigation stackの導入 この記事の目的 ROS2の導入と初期設定・注意点等についてまとめる 1. ROS2の導入 Ubuntu20.04を利用している場合、下記サイトに従ってROS2 forxyを導入する。 docs.ros.org 上記手順では、localeをen_US.UTF-8 に切り替えているがこのコマンドを入力せず日本語のままでもインストールできる。 setup.bashの読み込みはROS1と同様に.bashrcに下記記載を加えておくと毎回入力しなくてもよい。 source /opt/ros/fo…

  • git設定・コマンドまとめ

    この記事の目的 1. gitのインストールと初期設定 2. gitコマンド 2.1 リポジトリの作成・クローン 2.2 ブランチの操作 2.3 コミット操作 2.4 プル操作 2.4 プッシュ操作 参考資料 この記事の目的 gitの設定・コマンドについてまとめる。(個人用メモ。逐次追記予定) 1. gitのインストールと初期設定 ubuntuでは下記コマンドでインストールする。 sudo apt install git インストール後にuser名・メールアドレスを設定する。 (ユーザー名・メールアドレス未設定だとエラーが発生するので注意) git config --global user.em…

  • Visual Studio Codeの便利な設定・拡張機能

    この記事の目的 1. 共通設定 1. ソフト開発用の設定/拡張機能 C言語用設定・拡張機能 Python用設定・拡張機能 2.ドキュメント作成用の設定/拡張機能 3.設定・拡張機能の別PCへの移行方法 この記事の目的 Visual Studio Codeの便利な設定・拡張機能についてまとめる 1. 共通設定 Visual Studio Codeの日本語化 下記拡張機能をインストール (インストール後VScodeの再起動が必要) marketplace.visualstudio.com スペースの可視化 ファイル⇒基本設定⇒設定画面に移動し、"Editor: Render Whitespace"…

  • 画像認識② YoloV3を用いたWebカメラ画像の物体検出

    この記事の目的 1. 移動ロボット用の物体検出アルゴリズム 2. YoloV3のインストール/Python2+OpenCV用のインターフェース設定 3. Webカメラ画像の物体検出/ROS Topicの出力 この記事の目的 YoloV3を用いてWebカメラ画像から物体検出をしROS Topicで判定結果を出力する方法をまとめる 1. 移動ロボット用の物体検出アルゴリズム 移動ロボットの自律走行では、自車周辺の障害物を認識し車両制御(減速や停止、走行経路の計算など)で利用する必要がある。 その際、カメラ画像に障害物(人や車など)が含まれるかを認識する方法がよく用いられる。物体認識のアルゴリズムは…

  • ROS 移動ロボットの経路追従制御(Pure Pursuit)

    この記事の目的 1. move_baseにおけるロボットの移動経路追従 2. Pure Pursuitによる移動ロボットの経路追従 3. Pure Pursuitの実装 この記事の目的 ROSで移動ロボットの経路追従制御を実装する 1. move_baseにおけるロボットの移動経路追従 前回の投稿でROSシミュレーション上に走行経路を設定したので、今回は経路に追従するように車両の駆動・操舵量を計算するアルゴリズムについて検討する。 wiki.ros.org ROSのmove_baseではLocal_plannerを用いて算出した経路に対してロボットが経路を追従するための車速と角速度をcmd_v…

  • ROS 移動ロボットの走行経路を設定する

    この記事の目的 1. move_baseにおけるロボットの移動経路 2. ロボットの走行結果を保存する 3. ロボットの走行結果を走行経路(Path)としてPublishする この記事の目的 ROSで移動ロボットの経路を設定する方法についてまとめる 1. move_baseにおけるロボットの移動経路 前回の投稿でROSシミュレーション上で手動で設定した速度・角速度でロボットを動かすことができたので、次はロボットが指定した経路を追従するシミュレーションについて検討する。ROSのmove_baseでは、ロボットが走行する経路はglobal_plannerを用いて計算する。 wiki.ros.org…

  • ROS シミュレーション上でロボットを移動させる

    この記事の目的 1. ROSで移動ロボットを扱うための仕組み 2. 地図情報の読み込み(mapserver) 3. 現在位置(Odometry)の生成 4. 座標変換情報の設定 5. シミュレーションの実行 この記事の目的 ROSシミュレーションでロボットを移動させるスクリプトの作り方をまとめる。(mapserver/Odometry/TFの基礎) 1. ROSで移動ロボットを扱うための仕組み ROSではロボットを自律移動させるためのパッケージが『Navigation Stack』として提供されている。 wiki.ros.org qiita.com Navigation Stackの機能は多岐…

  • ROS URDFファイルによるモデル作成

    この記事の目的 1. URDF(Unified Robot Description Format)ファイルについて 2. URDFの記述 3. TFの発行とrvizでの可視化 この記事の目的 ROSでURDFファイルを記述してロボットモデルを作成する方法についてまとめる 1. URDF(Unified Robot Description Format)ファイルについて ROSではロボットの構造(車輪や関節、各種センサの位置関係や可動範囲など)をURDFというXML形式で規定されたフォーマットで記述する。 URDFでモデルを記述することで、rvizやGazebooでロボットモデルを画面上で可視化…

  • matplotlibのアニメーション描画

    この記事の目的 1. 時系列データの可視化について 2. matplotlib可視化ライブラリ 3. animatplotを使ったデータの可視化 この記事の目的 pythonのmatplotlibを使ってアニメーションデータを表示/gif形式で保存する機能についてまとめる。 1. 時系列データの可視化について 組込み機器(特に自動車や移動ロボット)の開発で、時系列データを解析する際に位置座標と時系列情報を一緒に確認したいことがある。 時系列毎にX,Y座標とセンサーデータが取得できているという前提でシークバーを用いて時間軸をずらしながら位置座標を確認したり、位置座標が時間ごとに どのように変化し…

  • Virtual Box (Ubuntu) の導入

    この記事の目的 1. 仮想PCツールについて 2. VirtualBox導入方法 1. OSのISOファイルの取得 2. VirtualBoxのダウンロードとインストール 3. Ubuntuのインストール 4. ネットワーク設定 5. Windows/Ubuntu間の共有フォルダの設定 6. コピーアンドペーストの設定 この記事の目的 Windows 10 PCにVirtual Box + Ubuntu 16を導入する方法をまとめる (グラフィック関係のトラブルシューティングと共有フォルダ・コピペ設定などを含む) 1. 仮想PCツールについて VmwareとVirtualboxではどちらがレス…

  • Raspberry pi でWebカメラ映像を処理する方法(OpenCV)

    この記事の目的 1. Webカメラ動画のストリーミング配信 2. Webカメラの画像をOpenCVで処理する 2.1 Raspberry pi 上でWebカメラ画像を処理する 2.2 ストリーミングした画像を取得してOpenCVで処理をする この記事の目的 Raspberry pi でWebカメラを用いて撮影したカメラ動画をストリーミング配信して、他端末からの画像の確認/データ処理する方法をまとめる 1. Webカメラ動画のストリーミング配信 Raspberry pi に接続したWebカメラの映像を他デバイスに配信することで低コストで監視カメラや移動ロボット用カメラとして利用することができる。…

  • ROS端末間のTopic通信 (デスクトップPCとRaspberry pi )

    この記事の目的 1. デスクトップ PC とRaspberry pi 間のTopic 通信 1.1 IPアドレスの確認/設定 1.2 SSHの設定 1.3 ROS設定の修正 1.4 ROSノードの起動 この記事の目的 ROS 端末間 (デスクトップPCとRaspberry pi )のTopic 通信についてまとめる 1. デスクトップ PC とRaspberry pi 間のTopic 通信 ROSでは複数の端末間でのTopic通信を行う機能が提供されている。(下記参考サイト参照) wiki.ros.org qiita.com 上記2つ目のサイトに説明があるようにROSは『Master』端末が『…

  • Ubuntu18.04用 ROS環境開発構築

    この記事の目的 1.Ubuntu18.04 LTSについて 2. Ubuntu16.04からのアップデート手順 3. nvidia 用 GPUドライバの更新 4. ROS melodicのインストール 5. その他の開発環境のインストール Arduino IDE Visual Studio Code と Pycharm この記事の目的 Ubuntu18.04 LTS の開発環境(ROS/Python/VS Codeなど)構築手順についてまとめる (Ubuntu16.04からのアップデート時の防備録) 1.Ubuntu18.04 LTSについて Ubuntuは2年おきにLTS (Long Ter…

  • ArduinoとPCの通信(シリアル通信)

    この記事の目的 1.Arduinoのシリアル通信機能 この記事の目的 ArduinoとPC間でのシリアル通信についてまとめる 1.Arduinoのシリアル通信機能 ArduinoでPCと信号の送受信を行う場合、USBケーブルを使ったシリアル通信が最も便利な手法である。 Arduino標準のSerialライブラリを使い下記の関数で信号の受け渡しを行うことができる。 参考サイト https://garretlab.web.fc2.com/arduino_reference/language/functions/communication/serial/ API名 リンク 概要 Serial.beg…

  • pygameを用いたゲームパッド操作機能の実装

    この記事の目的 pygame pygameとは インストール GUI描画(Hello World) とキーボード読み込み コントローラの読み込み ジョイスティックの初期化 ジョイスティック(アナログバー)の読み込み 方向ボタン(ハットスイッチ)読み込み この記事の目的 pythonのライブラリpygameを用いてゲームパッドでユーザーの入力を読み込む処理を実装する。 使用したゲームパッド ゲームパッド Logicool ロジクール F310r 国内正規品 3年間メーカー保証 参考となるサイト https://glorificatio.org/archives/1398 pygame pygam…

  • ROS入門 ワークスペース/パッケージ/ノード (python開発環境/vscode導入)

    この記事の目的 pythonを用いたROSプロジェクト構築 1 ワークスペースの作成 2 パッケージの作成 3 Visual Studio Codeの導入 この記事の目的 pythonを用いたROSのパッケージの作成・ノードの実装・トピックの送受信についてまとめる。 Visual studio Codeを導入し、pythonのスクリプトを実装しやすい環境を構築する。 pythonを用いたROSプロジェクト構築 ROSでは処理を実装して動作させるまでに下記のワークスペース/パッケージ/ノードを準備する必要がある。 以下に最低限のコマンドなどをまとめて記述する。 用語 内容 workspace R…

  • ROS入門 (概要/用語/コマンド)

    この記事の目的 ROSの考え方/用語の整理 ROSのプロセス/通信の概念・用語 ROSコマンドの使い方 (チュートリアルを利用) 1.roscoreの起動 2.ノードの起動 rosrunコマンド roslaunch 3.動作結果の確認 コマンドによる確認 GUIによる確認 rvizによる確認 4.動作結果の保存 よく使うコマンドリストのまとめ この記事の目的 ROSを使った開発の考え方、手順(チュートリアルを通じたコマンドの使い方)についてまとめる ROSの考え方/用語の整理 ROSの特徴や利点については下記サイトに細かく記載されている。 myenigma.hatenablog.com 特に、…

  • Raspberry pi 開発環境について(Ubuntu Mate設定/ROS導入)

    この記事の目的 必要なハード 環境構築手順 1.SDカードの初期化 2.OSイメージの焼き込み 3.初期設定 システムの更新 日本語入力対応 IP固定 ファイル共有設定 リモートデストップの有効化 4. ROSのインストール この記事の目的 RaspberryPi3(with ROS/Python) を使った電子工作の環境構築手順についてまとめる ROSを使ったロボット制御のソフトウェアを実装するため下記を導入する。 Ubuntu Mate 16.04 ROS Kinetic 必要なハード 下記記事のハードを用い、Raspberry pi 3 model B を使用する。 sd08419tti…

  • Raspberry pi 開発環境について(ハードウェア)

    この記事の目的 必須ハード Raspberry pi 本体 AC電源アダプタ micro SDカード マウス/キーボード/HDMIケーブル モバイルバッテリ カメラ ブレッドボード/ジャンパハーネス この記事の目的 Raspberry pi の電子工作の開発環境について必要なハードウェアに関する情報を忘備録として整理する。 必須ハード Raspberry pi 本体 カメラを使った画像認識などをすることを考慮すると、なるべく高スペックなものが望ましい。 2019年6月現在、下記のRaspberry pi 3 model B+が、最新かつ高スペックなRaspberry piである。 Raspbe…

  • C言語経験者がpythonで開発する際のポイントまとめ

    この記事の目的 C言語開発者がpythonを開発する際のポイント 別ファイルのimport方法 変数/定数の定義 const (定数)について defineについて global変数・static変数について この記事の目的 C言語(特に組込みソフト)経験者がpythonで開発する際のポイントをまとめる (よく聞かれたこと、聞かれることの整理用) * C言語開発者がpythonを開発する際のポイント・・・階層構造をもつpythonスクリプトのインポート方法 * 別ファイルのimport方法・・・階層構造をもつpythonスクリプトのインポート方法 * 変数/定数の定義・・・const・#def…

  • Arduinoのソフト構造・スケジューリングについて

    この記事の目的 Arduinoのソフトの実装方法と課題 機能別ファイル構造の構築 処理の周期呼び出しのスケジューリング この記事の目的 Arduinoで複数の機能を効率よく開発するため、ファイル構造・スケジューリング設定がしやすいプロジェクトの構築方法を記載する 特に下記に重点を当てて説明する ファイル構造・・・1ファイルを機能単位で構成し、複数のCファイル/Hファイルを扱えるようにする スケジューリング・・・各機能を順序性を保ちながら一定周期で呼び出しやすいソフト構造を取り入れる Arduinoのソフトの実装方法と課題 Arduino向けのソフトを開発する場合に最も基本的な方法は公式サイトで…

  • 電子工作プロトタイピングのソフトウェアアーキテクチャについて

    この記事の目的 電子工作プロトタイピング時の参考書 Raspberry Piで学ぶ電子工作 Arduinoをはじめよう 実用的なプロトタイプのためのアーキテクチャ この記事の目的 電子工作のプロトタイピング時のソフトウェアアーキテクチャについて、どのように作るべきかを整理する 電子工作プロトタイピング時の参考書 電子工作でRaspberry piやArduinoを用いたプロトタイピングを行う場合、下記の参考書が便利である。 Raspberry Piで学ぶ電子工作 カラー図解 最新 Raspberry Piで学ぶ電子工作 作って動かしてしくみがわかる (ブルーバックス)作者: 金丸隆志出版社/メ…

  • 画像認識①テンプレートマッチング/色に基づく物体認識/エッジ形状に基づく形状認識

    やりたいこと 画像認識の簡単な説明 テンプレートマッチング 色に基づく物体検出 (HSV色空間マスクと輪郭抽出) エッジ形状に基づく物体検出 (cannyエッジ検出とハフ変換) やりたいこと 画像から下記の手段で物体を認識する テンプレートマッチング (正解画像との類似度比較) 色に基づく物体検出 (HSV色空間マスクと輪郭抽出) エッジ形状に基づく物体検出 (cannyエッジ検出とハフ変換) 画像認識の簡単な説明 『画像認識』として扱われるタスクは、主に下記のようなものがある。 タスク名 説明 応用例 クラス分類(classification) 画像全体を表すラベルを識別する 画像のWEB検…

  • matplotlibを用いたグラフ描画

    やりたいこと pythonのグラフ描画ライブラリの紹介 matplotlibの基本 (オブジェクト(figure/axes/axis)の考え方とグラフ設定方法) 各種グラフ形式の描画方法 (折れ線グラフ/散布図/棒グラフと設定方法) やりたいこと pythonのライブラリ matplotlibを用いて数値データをグラフ描画する。 pythonのグラフ描画ライブラリの紹介 matplotlibの基本 (オブジェクト(figure/axes/axis)の考え方とグラフ設定方法) 各種グラフ形式の描画方法 (折れ線グラフ/散布図/棒グラフと設定方法) pythonのグラフ描画ライブラリの紹介 pyt…

  • 電子工作プロトタイピングの開発プラットフォームについて

    この記事の目的 Raspberry pi 特徴 長所 短所 Arduino 特徴 長所 短所 Jetson 特徴 長所 短所 どう使い分けるべきか この記事の目的 電子工作のプロトタイピング用開発プラットフォーム下記3つについて、それぞれの特徴・どう使い分けるべきかを整理する。 Raspberry pi Arduino Jetson Raspberry pi 特徴 IoT用プロトタイピング環境として最もよく用いられるコンピュータである (Amazonなどで容易に入手できる) 2019年3月現在で初代~Raspberry pi 3 までリリースされている。5000円程度で購入可能。 参考:最新の…

  • 前処理② 数値データに対する前処理 (データの選定・欠損値・不正値の補間・上下限ガード)

    やりたいこと 実装 データの選定 欠損値・不正値処理 上下限ガード 実装結果のまとめ やりたいこと 下記のような数値データに前処理を実施して、解析に適する形式に修正したい (統計処理ではなく、センサーでの値取得においてよくあるデータ取得時の不備などを想定) データの選定:大量のデータ項目から必要なものだけを選定する 欠損値:データがない、正しい形式で取得できていない (数値を期待しているのに文字列が含まれるなど) 上下限ガード:信号の上下限や前後の信号の値に対して、異常な数値となるデータを取り除きたい 実装 データの選定 大量に選択したデータから必要なものだけを選定したい。 どのデータが必要で…

  • pythonスクリプトのexeファイル化 (pyinstaller)

    やりたいこと exe化の方法 環境 手順 注意点 pythonのバージョン ファイルの容量 ファイルパスの取得 ドラッグアンドドロップによるファイルパスの受け渡し やりたいこと pythonスクリプトをexeファイル化したい 別PCへの配布 (python環境がないPC/開発者以外のPCで動作させたいツールなど) 簡単に起動させたい便利ツール (ドラッグアンドドロップでファイル情報を取得して起動など) exe化の方法 pythonのexe化用ライブラリは複数存在するが、今回は最も手軽にできるpyinstallerを紹介する github.com 環境 Windows10 (64bit) Ana…

  • GUI機能の実装(tkinter)

    やりたいこと 実装 Window・メニューバーの表示 ラベル/画像などの画面表示 ユーザー入力ボタンの表示 GUIを使ったフォルダ・ファイルの指定 やりたいこと pythonでGUI機能をお手軽に実装したい 画面の表示 (Window/メニューバー/ラベル/画像など) ユーザー入力情報処理(ボタン・テキストボックス・シークバー) GUIを使ったフォルダ・ファイルの指定 実装にはpython標準ライブラリでるtkinterを利用する。細かい機能が多いライブラリでるため、使う頻度が多い機能に重点を絞る。 実装後のイメージ 実装 最終的なソフトは下記に記載 github.com Window・メニュ…

  • ファイル命名則/更新日/ファイルサイズなどを反映した探索機能

    やりたいこと 実装 ファイル命名則の判定 ファイル作成・更新・アクセス日時の取得と条件判定 やりたいこと ファイル命名則/更新日/ファイルサイズなどを反映したファイル探索機能を実装したい ファイル命名則の判定 ファイル作成・更新・アクセス日時・ファイルサイズの取得と条件判定 実装 ファイル命名則の判定 フォルダ中に存在するファイル名に対して、ユーザーが指定した正規表現パターンにマッチするかを判定する。 正規表現ライブラリreのmatch関数を用いてファイル名を判定する。 def check_filename_regexp(self,filefullpathlist,pattern=None):…

  • 前処理① 画像に対する前処理(リサイズ/色補正など)

    やりたいこと 実装 リサイズ処理 反転処理 トリミング パディング グレースケール・2値化処理 モルフォジー変換によるノイズ除去 色補正フィルタ 参考サイト やりたいこと 画像に対して下記のような前処理を実施する リサイズ 反転 トリミング/パディング グレースケール変換/2値化/ノイズ除去 色補正 opencvではpandasのようなチートシートがあれば参考としたかったが、見つからなかったので下記のようにまとめてみた。 (ひとまず画像読み込みなどの基本機能から前処理まで。エッジ検出による特徴抽出、物体検出などは別途取り扱う) 実装 上記機能を1つのクラスにまとめて取り扱えるように実装した。 …

  • Webサイトからのデータ取得 ①Google系Webサービスのデータ取得(サイト検索・画像検索・Youtube検索)

    やりたいこと Google検索(キーワードにヒットした検索結果のタイトル、リンク一覧) Google画像検索 (キーワードにヒットした検索結果の画像ファイル) Youtube動画検索 (キーワードにヒットした検索結果の動画ファイル) 実装済みソースコード 参考サイト やりたいこと pythonで下記のGoogle系Webサービスの結果を自動取得する Gooogle検索 (キーワードにヒットした検索結果のタイトル、リンク一覧) Google画像検索 (キーワードにヒットした検索結果の画像ファイル) Youtube動画検索 (キーワードにヒットした検索結果の動画ファイル) Google検索(キーワ…

  • データマージ方法① 複数ファイルに記載された集計データに対するマージ

    やりたいこと 複数ファイルに記載された集計データのマージ ①複数グループのデータのマージ 実装 ②同一対象を含むデータのマージ 実装① 実装② やりたいこと 複数ファイルに記載された集計データのマージ * 各種の集計結果 (アンケート、帳票など) * 時系列データ (タイムスタンプの処理)については別記事で記載予定 複数ファイルに記載された集計データのマージ 一般的によく使われそうなケースを想定して場合分けして考える ①複数グループのデータのマージ 重複する対象がない複数グループに対して同じ項目の計測をしたデータ (下記では複数のチームに対する身体測定結果の例でイメージを記載) [f:id:s…

  • 画像・動画ファイル読み込み方法 (フォルダ配下の画像/動画/ドキュメントを一括読み込み)

    やりたいこと ユーザーが指定したローカルフォルダにある下記ファイルを画像形式で読み込む jpgファイル pngファイル aviファイル mp4ファイル pdf ファイル (各ページを画像として取得) フォルダ・ファイルパスを指定すると拡張子からフォーマットを識別して取得 動画は全フレーム/PDFは全ページを読み込む 読み込み結果はpandas dataframeのリスト(ファイル数分)、ファイル名のリストとして出力する 事前準備 pdfファイルの読み込みにpdf2imageというライブラリを利用する github.com 上記ライブラリはpopperというアプリを動かす必要があるため、下記サイ…

  • トップページ

    このブログのコンセプト カテゴリ pythonによるデータ分析 データ読み込み 前処理 特徴抽出 GUI出力/ユーザー要求処理 電子工作プロトタイピング 前提知識 Web機能 ROS開発 センシング このブログのコンセプト 業務等で活用しやすい『機能単位』でノウハウをまとめる イラスト1つでやりたいことがわかる構成とする 一般的なPCの開発環境(Windows+Anaconda等)ですぐに試せるコードをgithubに残す 詳細な機能の記事(各種ライブラリに関する使い方説明など) は他サイトのリンクにとどめる カテゴリ pythonによるデータ分析 業務等でpythonスクリプトを用いたデータ処…

  • pandasのデータファイル読み込み方法 (フォルダ配下のファイルを一括読み込み)

    やりたいこと 実装 各フォーマットファイルをpandas data frame として読み込む フォルダ内のファイルリストを探索する 参考サイト・書籍 やりたいこと Pandasでユーザーが指定したローカルフォルダにある下記データファイルを読み込む csvファイル tsvファイル xls/xlsxファイル jsonファイル フォルダ・ファイルパスを指定すると拡張子からフォーマットを識別して取得 各データファイルは1行目に項目ラベル、2行目以降にデータが記述されていることが前提 読み込み結果はpandas dataframeのリスト(ファイル数分)、ファイル名のリストとして出力する 実装 実装結…

arrow_drop_down

ブログリーダー」を活用して、sd08419さんをフォローしませんか?

ハンドル名
sd08419さん
ブログタイトル
techno_memo
フォロー
techno_memo

にほんブログ村 カテゴリー一覧

商用