Python3関連のことを調べてみた2022年03月08日

Python3関連のことを調べてみた2022年03月08日
目次

【Pythonコード公開】留守でも安心!侵入者検知システムを自作してみた(後編)【機械学習】

この記事は、「留守でも安心!侵入者検知システムを自作してみた」の**後編**です。
**まだ前編を読んでない方は先に[前編](https://qiita.com/umapyoi/items/eba3842aeab19b62f3a6)をご覧ください。**

https://qiita.com/umapyoi/items/eba3842aeab19b62f3a6

**作成した侵入者検知システムのGUI:**
![Umapyoi異常検知アプリイメージ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/bc7be765-2174-48b2-7ced-495737ab3f7e.png)

# システム作成手順(後編)
後編では、異常検知モデルの作成とGUIアプリを作成します。

## 異常検知モデルの作成
異常検知モデルの作成は、コーディング無しで簡単に異常検知モデルを作成できるプラットフォーム「[ADFI](https://adfi.jp/ja)」を利用します。
無料プランでも、異常検知モデルの作

元記事を表示

【Pythonコード公開】留守でも安心!侵入者検知システムを自作してみた(前編)【機械学習】

来週、久しぶりの出張で家を留守にする予定なので、我が家の防犯が心配!
そこで、侵入者検知システムを作ってみました&Pythonコードも公開します!
侵入者検知以外にも、**「駐車場の空き状況の検知」「立ち入り禁止区域の監視」などの用途にも使える** (かもしれない)システムです。

**作成した侵入者検知システムのGUI:**
![Umapyoi異常検知アプリイメージ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/416d7e01-57ca-1635-5511-63736ced84cb.png)

# 侵入者検知システム概要
玄関(靴箱の上)に設置したカメラ映像を監視し、異常(侵入者など)があったら、自動で検知してメールで通知してくれるシステムです!
留守中にメールが来るかドキドキですね!

カメラ映像が正常か異常か判定するのは、異常検知モデルです。
人がいない状態の画像を学習データとして利用することで、人影や身体の一部が映った場合に異常と判定する異常検知モデルを作成することができます

元記事を表示

ロジックサマナー ランクC「ログの結合」を解いた

# はじめに
ロジックサマナーの問題をまた解きました。
少し AtCoder の問題解いたんですが、時間制限内に解けなくて悔しかったです。(B問題で終わりました…)

今回も正答したソースコードを下に載せます。

# 問題の概要
[問題のリンクです。](https://paiza.jp/logic_summoner/challenges/logics_skill_4004)

“`
入力:
8
0 thequickbr
0 ownfoxjump
0 soverthela
0 zydog
1 jackdawslo
1 vemybigsph
1 inxofquart
1 z
出力:
0 thequickbrownfoxjumpsoverthelazydog
1 jackdawslovemybigsphinxofquartz
“`
問題の概要を要約すると、入力されるのがチャットのログです。
左がチャットのIDで、右がチャットの内容として、同じIDであれば末字に結合して出力する。
といった感じです。

# 正答したソースコード
“`python3
# 入力
n = int(inp

元記事を表示

【Python】opencvで複数のWebカメラを識別して使用したい

## はじめに
OpenCVからVideoデバイスにアクセスする場合、デバイスIDを指定する方法しかありません。

“`py
DEVICE_ID = 1
cap = cv2.VideoCapture (DEVICE_ID)
“`

しかしVideoデバイスが複数接続された場合、このデバイスIDはいつも同じとは限らないため、不都合が起きたりします。例えばある物体を1つのカメラは上から、もう1つのカメラで横から撮影し、各々のカメラで得られたフレーム画像に別々の画像処理を施したいときに困ります。 今回は、複数接続時に、安定して同じデバイスにアクセスすることを目指します。

## 対象者
この記事は下記のような人を対象にしています。

– 複数のWebカメラを使用する機会のある方
– マジックナンバー嫌いな方

## 環境
– Windows10
– Python3.7

## 結論
CV-camera-finderをお借りすることで、linuxのlsusbコマンドのようなことを実現できます。linuxの方はこちらをご参照ください。助けになると思います。

https://dev.cla

元記事を表示

【python】wiktionaryから語義情報を抽出する

# 概要
wiktionaryから単語とその語義(に相当していそうな記述)を抽出しました。
具体的にはwiktionaryのマークアップ記述から語義に相当すると期待される数字箇条書きの領域を、その箇条書きが属する見出しの文字列とセットで取得しました。

“`
word head2 head3 meaning_id meaning
青 [[漢字]] 意義 0 #[[グリーン]]。[[みどり]]。[[あお]]。[[くさき|草木]]の[[は|葉]]のよう…
青 {{ja}} {{noun}} 0 #(複合語で)(あお)色の一つ、[[グリーン]]。[[くさき|草木]]の[[は|葉]]のような色。
青 {{zh}} {{adjective}} 0 #{{おくりがな2|青|あお|い|あおい}}。[[緑]]の。[[グリーン]]の。
青 {{zh}} {{adjective}} 1 #{{おくりがな2|黒|くろ|い|くろい}}。
青 {{zh}} {{name}} 0 #(現代)[[w:青海省|青海省]]の略称。
“`

なお、本記事では、箇条書き部分の抽出までを扱います。実際にアプリケーショ

元記事を表示

超初心者がAtcoder ProblemsのC問題を141回から150回までをpythonで解いてみた【記憶喪失した時用】

解き方を忘れないためにまとめてるだけなのでコードはめちゃくちゃ不細工です、ここもっと良くできるよって場所あったら教えていただけるとありがたいです!!

Attack Survival

https://atcoder.jp/contests/abc141/tasks/abc141_c

“`python:practice.py
n,k,q = map(int, input().split())
points = [k]*n
for i in range(q):
win = int(input())-1
points[win] += 1
for point in points:
if point-q > 0:
print(“Yes”)
else:
print(“No”)
“`

最初に正解者のポイントに1を追加し、後から全ての参加者から問題数と同じ数を引けば、問題で指示されてい

元記事を表示

【AtCoder解説】PythonでABC242のA,B,C,D,E問題を制する!

**ABC242**の**A,B,C,D,E問題**を、**Python3**でなるべく丁寧に解説していきます。

ただ解けるだけの方法ではなく、次の3つのポイントを満たす解法を解説することを目指しています。

– シンプル:余計なことを考えずに済む
– 実装が楽:ミスやバグが減ってうれしい
– 時間がかからない:パフォが上がって、後の問題に残せる時間が増える

ご質問・ご指摘は**コメント**か**ツイッター**、**マシュマロ**、Discordサーバーまでお気軽にどうぞ!

**Twitter: [u2dayo](https://twitter.com/u2dayo)**
**マシュマロ: https://marshmallow-qa.com/u2dayo**
**ほしいものリスト: https://www.amazon.jp/hz/wishlist/ls/2T9IQ8IK9ID19?ref_=wl_share**
**Discordサーバー(質問や記事の感想・リクエストなどどうぞ!) : https://discord.gg/jZ8pkPRRMT**
よかったら**LGTM**

元記事を表示

raspberryPIでopenCVをインストール

前提条件 


このページにたどり着く前にopenCVのインストールにチャレンジしていますか?

`pi@raspberrypi:~ $ pip3 list` を実行した際に、
`opencv`を含む文字を見つけた方は、以下のコマンドから削除してください。

“`delete.terminal
pi@raspberrypi:~ $ pip3 list
olefile 0.46
opencv-python 4.5.5.28 <-(1)opencvを含む文字列を下記コマンドに記入 opencv-contrib-python 4.5.16 <-(2)opencvを含む文字列を下記コマンドに記入 pantilthat 0.0.72 parso 0.8.1 (1)の場合。(2)の場合はopencvのあとに文字を追加してください。 pi@raspberrypi:~ $ sudo pip3 uninstall opencv-python ``` :::note info テキストエディタで「opencv」を検

元記事を表示

python基礎

# print(文字を出力する方法)

“`csharp:php
print(‘Hellow World’);
“`
# #(コメント)

“`csharp:php
#コメントアウト
“`
# 変数の定義
+ PHPのように、$などはいらない。
+ 変数名の付け方は、`user_name`のように、単語2文字以上のときは、アンダーバーで繋げる。

“`csharp:php
name = ‘Naoki’;
name = 12;
“`
+ 変数の中の値を取り出すときは↓
+ クオテーションをつけると、文字列として認識されてしまうので、クオテーションはつけない。

“`csharp:php
print(name); //Naoki
“`
# 変数の更新

“`csharp:php
x = x + 10//x + = 10と同じ 、x % = 10など
“`
# 文字列の連結

+ +記号は、文字列の連結もすることができる。
+ PHPの場合は、’Hello’.’World’→ドットで繋げていた。

“`csharp:php
print(‘Hello’ + ‘World’

元記事を表示

Python windowsのcmd、powershellでctrl cでスレッド、プロセスが止まらない時の対処法

# 結論

メインスレッド以外をデーモン化する

# スレッドのデーモン化とは

デーモンスレッドは他の非デーモンスレッドが終了と同時に強制的に終了するスレッドのこと

また、子スレッドは親スレッドのデーモンの値を継承する
つまり、デーモンスレッドによって開かれた子スレッドは引き続きデーモンスレッド

# やり方

以下、極端な例。デーモンスレッド、非デーモンスレッドの順にスレッドを実行させればよい

“`python
import threading
from multiprocessing import Process
import time

def task(num: int):
while True:
time.sleep(1)
print(f’task{num}’)

def main():
“””ctrl c を受け取るためのスレッド”””
while True:
try:
# スリープ入れないとcpuコアがフル稼働するので注意
time.slee

元記事を表示

40 代おっさんPythonを使って自分あてに指定したLINEを送る

## 本記事ついて

本記事は プログラミング初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。

## 参考資料

## 目標

LINE Notifyを使い、Webスクレイピングを行って、明日の天気予報を自分のLINEに送る。

## 環境

以前はCloud9を使用していましたが、今回はExcelのため変えることにしました
Windows 10
Jupyter Notebook
そのため構文に少し違いがあります。
気を付けてください

## LINE Notify

LINE Notifyとは
LINEと外部のWebサービスやアプリを連携し、ユーザーがカスタマイズされた好みの情報を受け取ることができる機能

### アクセストークン発行

自分が書くより説明がしっかりなされていたのでこちらを参照してください

<

元記事を表示

kaggle内でnotebookを作る

どうも、AIRS-LabでKaggleをやっています。

データ分析コンペというとJupyter Notebookを使っている人も多いと思います。
![スクリーンショット 2022-03-04 10.14.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/998564/d578497f-0fda-aea5-ce2d-11a550d609ae.png)

Jupyter Notebookを使っていて、うまくファイルを読み込めない時ありませんか?(やり方知らないだけですが・・w)
ドラッグアンドドロップで同じパスに入れられたらいいのに。。。と思い、Google Colaboratoryに変更しました。

2ヶ月ほどGoogle Colabで快適ライフを送っていたのですが、先日ある問題に直面してしまいました。。。!
![スクリーンショット 2022-03-04 10.23.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/

元記事を表示

【機械学習】最新論文の異常検知手法をMVTecデータセットの実験結果で比較してみた&各手法のPythonコードも紹介【異常検知】

現在、世界最先端の画像の異常検知手法の性能は、どのくらいなのでしょうか?
2021年度に国際会議に採択された論文の最新手法を調査してみました!(Pythonのプログラムコードも見つけたので、リンクを貼っておきます。)

論文の実験結果に記載されている[MVTecデータセット](https://www.mvtec.com/company/research/datasets/mvtec-ad)のAUC値で各手法を比較してみたいと思います。

**MVTecデータセットの画像例:**
![データセット画像例.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/3f5198a6-8ab6-9b0d-1a98-e389f52353dd.png)

# 手法の概要紹介
## [CutPaste](https://openaccess.thecvf.com/content/CVPR2021/html/Li_CutPaste_Self-Supervised_Learning_for_Anomaly_Det

元記事を表示

【Python】opencvでWebカメラの起動に時間がかかる問題の対処

## はじめに
USB経由で接続されたWebカメラの起動に30秒~1分ほどかかっており、いらいらしたので対処法を探しておりました。しかし調べ方が未熟なせいもあって解決に時間がかかりました。

capture = cv2.VideoCapture(1) ←具体的にはここがボトルネック。

## 対象者
この記事は下記のような人を対象にしています。
– 同じ悩みを持ち、ちょっとでも短時間でWebカメラを起動したいと思った人

## 環境
– Windows10
– Python3.7

## 結論
opencvのissueをたどってみると解決法がありました。
MSMFバックエンドの設定部分で問題が起きていたみたい。

“`py
# cv2のインポート前にカメラに関する設定を行う
# https://github.com/opencv/opencv/issues/17687
import os
os.environ[“OPENCV_VIDEOIO_MSMF_ENABLE_HW_TRANSFORMS”] = “0”
import cv2
“`
## 検証
Webカメラの起動が本当に速くなっ

元記事を表示

40 代おっさんPythonでExcelのデータを活用してみる

## 本記事ついて

本記事は プログラミング初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。

## 参考資料

## 環境

以前はCloud9を使用していましたが
Windows 10
Jupyter Notebook
そのため構文に少し違いがあります。
気を付けてください

## 目的

Excelのデータを活用してみる

## Excelのデータを活用してみる

pcr_tested_daily.csv(厚生労働省からダウンロードしました)
これを使ってデータを分析したいと思います。

### pandasのインストール

pandasとは
データの統計量を表示したり、グラフ化するなど、データ分析(データサイエンス)や機械学習で必要となる作業を簡単に行うことができるようになります

自分のはまだ入れていなか

元記事を表示

OpenCVでレシート画像を切り抜き(改良の余地あり)

# 目的
– レシートと背景が写った写真からレシートをくりぬきたい
– OpenCVの理解
– なんか画像処理っぽいことしたい

# 環境
– Windows11 Home
– VSCode
– Python3.9
– pip
opencv-python 4.5.5.62

【追記20220305:パラメータなど調整しました】
– グレースケール化の方法を変更 cv2.cvtColor→cv2.decolor
– 二値化のパラメータ変更 cv2.THRESH_OTSUに変更
– cv2.findContoursの引数を変更 cv2.RETR_TREE→cv2.RETR_EXTERNAL(ご意見いただきました。ありがとうございます。中の余計な線が消えました。)

# 本編
## 参考文献
ありがとうございます。お世話になりました

https://vigne-cla.com/14-3/

https://qiita.com/mix_dvd/items/5674f26af467098842f0

https://note.com/lydiacorp/n/n338940559a3c

##

元記事を表示

40 代おっさんPythonでブラウザ操作してみる

## 本記事ついて

本記事は プログラミング初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。

## 参考資料

## 環境

以前はCloud9を使用していましたが
Windows 10
Jupyter Notebook
そのため構文に少し違いがあります。
気を付けてください

## 目的

Webページにアクセスして必要なファイルを取ってくる
そして自分の指定フォルダに移動する。

## Webページを操作

### 必要なライブラリ

seleniumとは
Webブラウザで行うクリック操作やキーボード入力などをプログラム上から自動で操作できるようにしたライブラリ

“`python
!pip install selenium
“`

webdriver_managerとは
Webブラウザのバージョンに合わ

元記事を表示

xlwingsでシートを丸ごとリストのリストにする関数作ってみた

PythonからExcelの自動操作をしたりExcelからPythonを呼び出したりしています。

VBAだとシートの情報を呼び出してもそこまで重いと感じることはありません。
xlwingsさんはとても優秀なのですが、VBAのように都度API経由でセル情報をやりとりするのはかなり重たくなってしまいます。

そこでリストのリスト(俗に言う多次元リスト)にして操作するということをよくしてます。

# 例

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/217361/9c8d3ed7-2738-68f2-6921-a12c8ccc1947.png)

こんなExcelシートがあったとします。

第1引数に該当シートオブジェクトをしていただくことでリストにする関数

列を基準にリストにした多次元リストになります。

“`python
all_col(sheet)
“`

“`
[[‘A1’, ‘A2’, ‘A3’, ‘A4’],
[‘B1’, ‘B2’, ‘B3’, ‘B4’],

元記事を表示

超初心者がAtcoder ProblemsのC問題を134回から140回までをpythonで解いてみた【記憶喪失した時用】

解き方を忘れないためにまとめてるだけなのでコードはめちゃくちゃ不細工です、ここもっと良くできるよって場所あったら教えていただけるとありがたいです!!

Exception Handling

 https://atcoder.jp/contests/abc134/tasks/abc134_c

“`practice.py
n = int(input())
nums = [int(input()) for _ in range(n)]
new_nums = sorted(nums)
highest = new_nums[-1]
if len(new_nums) > 1:
second_highest = new_nums[-2]
for i in range(n):
if nums[i] == highest:
print(second_highest)
else:
print(highest)
“`

最初にリストを昇順に並べ替えて、一番大きい値を取得します。次にもしリストの要素数が1より大きい場合は二番目に大きい

元記事を表示

40 代おっさんPythonでExcel操作でほかのファイルにコピーしてみる

## 本記事ついて

本記事は プログラミング初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。

## 参考資料

前回の続きになりますので気になる方はこちら

## 環境

以前はCloud9を使用していましたが、今回はExcelのため変えることにしました
Windows 10
Jupyter Notebook
そのため構文に少し違いがあります。
気を付けてください

## 目的

Excelファイルをほかのファイルにすべて一気に転記できるようになりたいと思います。
一つづつの動作を確認しながらやっていきます。

## 違うファイルに転記をする

### ファイル情報を取得

“`python
wb_ma

元記事を表示

OTHERカテゴリの最新記事