‘Python’ タグのついている投稿

【IT-DIY】既にある技術の仕組みを知るため、自作で動画の分析をしてみる。

2023 年 11 月 8 日 水曜日 by sugakir

はじめに

※こちらの記事は活動記録になります。
弊社のスキルアップ活動の一環で、表題の活動を行いました。

やりたいこと

最近フリーアドレスになったので、Teamsの社内のカメラで本社の映像から人を検出し、「リアルタイム空席状況」を表示してみたい。

既にある技術

表題にもある通り、人間を検知する仕組みはもう存在する。yoloというPythonライブラリを利用すると、どうやら簡単に動画内の人間を検知できるらしい。

(さらに…)

【IT-DIY】OpenCVを用いて画像から猫を検出するシステムを作ってみる

2023 年 11 月 8 日 水曜日 by sugakir

はじめに

弊社のスキルアップの活動として、
「OpenCVを用いて機械学習を行い、画像から猫を検出するシステムを自分たちで作る」
というDIY的な事を行ったので、実装方法や結果について共有します。

OpenCVとはなにか

OpenCVとは、画像処理や画像解析が出来たり、機械学習ができる機能を詰め込んだライブラリです。
Pythonで使用されるのが一般的ですが、実はJavaやC等の言語でも使用することができるんです。

今回はOpenCVの中でも「カスケード分類器」と呼ばれる物体検出器に対して機械学習を行い、猫を検出します。

(さらに…)

【Python】OpenCVを使って動体検知する

2023 年 10 月 13 日 金曜日 by sumitanik

はじめに

OpenCVを駆使した動体検出は、現代のコンピュータビジョンアプリケーションにおいて欠かせない技術の一つです。この技術は、ビデオ監視、自動運転、セキュリティシステムなど多くの分野で応用でき、画像やビデオから動く対象を検出し、それに関する情報を抽出するために使用されます。

この記事では、動体検知システムの概要、実装内容について説明します。

システム概要

今回試作したシステムは、車内に子供の置き去りにしないように防止することを目的としています。

このシステムでは、以下の2つの動作を想定しています。しかし、完全再現は難しいため、実際には模擬的に実装していきます。

(さらに…)

【Python】sqlite3の使い方を超簡潔にまとめた

2023 年 9 月 28 日 木曜日 by tomokiy

概要

SQLiteそのままDBファイルをコピーして使えたりと、簡易なアプリの設定管理などに使えるので覚えたかった。

使い方

とりあえず以下のコードをコピペして修正したらOK

基本となるコード

import sqlite3
​
# DB名(ファイル名)
dbname = "notify_smb_usage.sqlite3"
# コネクション
connection = sqlite3.connect(dbname, isolation_level='IMMEDIATE')
# カーソル
cursor = connection.cursor()
# SELECT文の結果を辞書型で取得
cursor.row_factory = sqlite3.Row 
​
# SQL
query = """
    SELECT
        *
    FROM
        smb_usage
    WHERE
        user = :user
"""
cursor.execute(query,{
    "user": "tomokiy"
})
# 実行結果
results = [{key: value for key, value in dict(result).items()} for result in cursor.fetchall()]
​
# コミット
connection.commit()
​
# DB切断
connection.close()
(さらに…)

【Python】辞書型のリストから特定の値を持った要素を検索する処理を高速化する記述法

2023 年 9 月 7 日 木曜日 by tomokiy

概要

リストの中身が辞書型になっており、その辞書型の値の中で特定の値を持ったデータを検索する場合に高速に検索できる方法を紹介します。

今回は以下の3つの方法を比較します。

  • forループで検索する方法
  • 内包表記+next関数
  • filter関数+next関数

以下の方法では1000万個の辞書型要素を持ったリストのうち、500万個目の要素を検索しています。

(さらに…)

【Python】デストラクタはプログラマの強い味方です

2023 年 7 月 31 日 月曜日 by tomokiy

デストラクタとは

言うまでもなく、コンストラクタの反対の役割を担うものです。

クラスインスタンスが破棄される際に必ず実行されます。 例外処理とは関係ないですが、tryexceptの例外処理のfinally句と似ています。 なので、何があってもクラスの終了時に必ず実行してほしいものを記述します。

どういう動きになっているか

以下のようなプログラムを実行してみると分かりやすいです。

class Test1:
    def __init__(self) -> None:
        print("Test1のコンストラクタを実行しました。")
        test2 = Test2()
    def __del__(self) -> None:
        print("Test1のデストラクタを実行しました。")
​
class Test2:
    def __init__(self) -> None:
        print("Test2のコンストラクタを実行しました。")
    def __del__(self) -> None:
        print("Test2のデストラクタを実行しました。")
​
test = Test1()
(さらに…)

【Python】VScodeではブロックコメントでマークダウン記法ができる

2023 年 7 月 31 日 月曜日 by tomokiy

概要

Pythonのブロックコメントをマークダウン記法で記述すると、VScodeのコードヒントを表示した時にいい感じに表示されます。

やり方

パッケージのコメント

上記のように自作パッケージにカーソルを当てると、コメントが表示されます。

(さらに…)

【Python】デコレータで引数の型チェックを実装する

2023 年 7 月 31 日 月曜日 by tomokiy

デコレータとは

一番よく目にするデコレータはプロパティのゲッターになるものですかね。

@property
def name(self) -> str:
    return self.__name

このメソッドの上に@propertyのように記述しているものをデコレータと言います。

(さらに…)

Pythonを使用したWebスクレイピング その1

2023 年 7 月 14 日 金曜日 by miedar

この投稿では、スクレイピングという技術について紹介していきます。
その1~その4でスクレイピングについての説明から実際にスクレイピングを行う方法までご紹介していきます。

スクレイピングとは?

スクレイピングとは取得したHTMLを抽出や加工することにより、Webサイト上からデータを取得することです。
近年は、データや情報の価値が高まるとともに、スクレイピングを利用し始める企業も増えているようです。
スクレイピングを行うことにより、大量のWebサイト上のデータを集める際に自動でデータを収集することで作業時間を大幅に削減することが可能です。

(さらに…)

改善点をネガポジ判定し、有用な改善点のみ抽出を行ってみる(検証編)

2022 年 1 月 11 日 火曜日 by itot

概要

当社では、日々終業後に、当日の業務内容を上司へメールで報告します。
週末には、個人が一週間に取り組んだ改善点もあわせて報告します。

前回、過去の改善点の中で「有用な改善点」のみを抽出することを目的として、ネガポジ判定の検証方法まで記載しました。
今回は、実際に仮説について検証した結果及び考察について、記載していきます。

(さらに…)