- 1. OpenCV(Python)で手のひらの面積を算出する
- 2. 猫と犬の判別ツールを改良してみました
- 3. optparse.py がエラーを吐く
- 4. 【SQLAlchemy】PythonでQueryデータベースから取得,【CRUD】
- 5. ランダウアー理論の再帰グリーン関数法でデバイスの電気特性を計算しよう
- 6. 簡単なPySimpleGUI①~二次方程式の解の公式~
- 7. pyenvを使ってEC2(Amazon Linux 2)にpython3.9.10をインストールする。
- 8. 【初心者】Pythonデコレータとは?を分かりやすく解説
- 9. spreadsheet API KeyError: ‘access_token’
- 10. “localhost”をやめて…というお話…
- 11. 【pythonメモ】回数指定のfor文(for .. in range)の使い方
- 12. kivyMDチュートリアル其の肆什陸 Behaviors – Magic篇
- 13. コロナ第6波東京:簡易実行再生産数(Rt)を使ったピークアウト動的予測
- 14. ディレクトリ・モジュール操作について(pathlib, os, sys)
- 15. WordleをPythonに解かせる
- 16. 【Django】 django-environでシークレットキーを読み込んだ際に起こりうるエラー
- 17. Windows10でpythonを用いた仮想環境の構築方法
- 18. デッキ画像から駒名称を抜き出す【特徴点マッチング編】
- 19. GCPで冪等性を実現しようと頑張った
- 20. 知らない人は損しているなと思うChromeDriverを自動更新するPythonライブラリ
OpenCV(Python)で手のひらの面積を算出する
# OpenCV
“`
pip install opencv-python
“`# 手順の概要
**1.方眼の上で手のひらの画像を撮る**
**2.方眼の部分だけを残しトリミング**
**3.OpenCVで読み込んでグレースケール・二値化(python)**
**4.二値化した画像で手のひらの輪郭を探索(python)**
**5.「手のひらのピクセル数」と「全体のピクセル数」の比により面積を算出(python)**# 1.2.画像取得とトリミング
取得した画像
![S__13139991.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601935/1d26dd7a-cd7d-eef3-1786-28548411f58c.jpeg)
トリミング後
![S__13139993.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601935/abc39679-13fc-e001-4d27-ce6dae875038.j
猫と犬の判別ツールを改良してみました
#目的
画像判別の精度向上#ステップ(目次)
<1>公開されている画像判別で精度が低いものをピックアップ
<2>現状の精度確認
<3>改良の方向性案を検討
<4>コード変更による改良
<5>転用学習を利用した改良
<6>サンプル評価#公開されている画像判別で精度が低いものをピックアップ
“`py
# This Python 3 environment comes with many helpful analytics libraries installed
# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python
# For example, here’s several helpful packages to load
import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_cs
optparse.py がエラーを吐く
# 症状
python3 が絡むほとんどの処理で optparse.py がエラーを吐いて困った。e.g.: apt, command-not-found, pip3
# エラー内容
“`
$ hoge
Traceback (most recent call last):
File “/usr/lib/command-not-found”, line 25, in
from optparse import OptionParser
File “/usr/lib/python3.8/optparse.py”, line 1
nt to [a-zA-Z0-9_]
^
SyntaxError: invalid syntax
“`# 調査
/usr/lib/command-not-found は python3 で書かれている。
“`
$ file /usr/lib/command-not-found
/usr/lib/command-not-found: Python script, ASCII text exec
【SQLAlchemy】PythonでQueryデータベースから取得,【CRUD】
SQLAlchemyはPythonでよくつかわれるORマッパー。DjangoのORマッパーは使ってたけどSQLAlchemyは最近よく使うようになったのでDBからのデータ取得やCRUDなどをまとめます。
![SQLAlchemy.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260345/cfc38b0e-eb25-0730-875d-2722b25cafc3.jpeg)
以前の関連記事。Flaskで Flask SQLAlchemyを使ったDBデータ取得、作成、更新、削除を行ってます。
https://qiita.com/Bashi50/items/e3459ca2a4661ce5dac6
Djangoで同じような記事書いてたので一応リンク載せます。
https://qiita.com/Bashi50/items/9e1d62c4159f065b662b
今回のSQLAlchemyとはORMと言うだけであまり関係ないですが、Django ORMでもSQLAlchemyでもどちらかできれば
ランダウアー理論の再帰グリーン関数法でデバイスの電気特性を計算しよう
ナノエレクトロニクスなどの分野では複数の素材が接合されていたり、様々な端子がくっついていたり、あるいはデバイスの形状が電気特性に与える影響を考えることもある。こうした状況でデバイスの電気特性をシミュレーションするやり方がランダウアー・ビュティカー理論である。今回は再帰グリーン関数法を利用して計算するやり方を紹介したい。
この記事では物理学専攻の学部3年終了時点程度の知識を前提とする。
#ランダウアー・ビュティカー理論
まず考えるシチュエーションを説明する。
![system_landauer.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2445529/8d9e962e-34d8-4d83-d535-dbe9eca0a8a4.png)考えるデバイスは図の緑で囲んだ部分であり、ハミルトニアン$H_c$で表現される。$H_C$は$N$個のサイトが1列に並んだものであり、それぞれのサイトはハミルトニアン$H_{i}$で表され(各$H_i$のサイズや中身はバラバラでもよい)、$V_{i,i+1}$で
簡単なPySimpleGUI①~二次方程式の解の公式~
PysimpleGUIの使い方メモとして、二次方程式の解を「解の公式」で求めるGUIを作成しました。
# この記事で扱う要素
**入力**
・数値入力ボックス(sg.InputText)
・ボタン (sg.Button, sg.B)**出力**
・画面出力 (window[‘hoge’].update(‘hogehoge’))# コード
“`Python:Code
import PySimpleGUI as sgdef main():
layout = [[sg.Text(“解の公式GUI”, size=(15, 1), justification=’center’, font=(“Helvetica”, 20), relief=sg.RELIEF_RIDGE)],
[sg.T(“ax^2+bx+c=0”, size=(15, 1), justification=’center’)],
[sg.Text(‘a :’), sg.InputText(“1”, key=’a’, size=(25, 1
pyenvを使ってEC2(Amazon Linux 2)にpython3.9.10をインストールする。
#はじめに
最近AWSについて勉強中で、EC2環境にDjangoアプリをデプロイしようと思っているので、備忘で記載します。
( 初投稿? )
#Python3.9.10 インストール
###1. pyenvのインストール
基本的に[pyenvの公式サイト(?)](https://github.com/pyenv/pyenv#understanding-path)のReadMeに従えば良い気がする。
**pvenv**とは、Pythonのバージョン管理を行えるツールのこと。まずはpyenvをクローンする。
※gitが入っていない場合は、gitのインストールが必要。(“$ yum install git“でインストールできる。)“`sh
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
“`続いて、pyenvのパスを通す。(実際のコマンドは、[pyenvの公式サイト(?)](https://github.com/pyenv/pyenv#understanding-path)からコピぺした方が良いかも。)
`
【初心者】Pythonデコレータとは?を分かりやすく解説
# 初心者にはわかりにくいデコレータ
頭に`@ooo`つけるやつ。初心者だと聞いたことあるけど、なんか処理を付け足せるらしいくらいしかわかっていないと思うので解説。
初心者勉強用の資料に書きます。![python_logo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260345/b516902a-fcfe-dee6-cc91-da228c5aa53a.png)
デコレータとは名前の通り、デコレーションする者ってこと。
まずは超簡単な関数を準備。“`deco1.py
def deco1():
print(‘テストです’)deco1()
“`“`
$ deco1.py
テストです
“`これは解説するまでもないですね。
## 事前知識: 関数もオブジェクト
Pythonの関数って実はオブジェクト。intとかstr型みたいに変数に代入することもできるし、引数として渡すこともできます。“`sample.py
def sample():
print(‘さんぷ
spreadsheet API KeyError: ‘access_token’
pythonでspreadsheetを操作するものを作成中にエラーが出た
遭遇したエラー
“`
KeyError Traceback (most recent call last)
~\anaconda3\lib\site-packages\google\oauth2\_client.py in jwt_grant(request, token_uri, assertion)
195 try:
–> 196 access_token = response_data[“access_token”]
197 except KeyError as caught_exc:KeyError: ‘access_token’
“`<解決>
変更前“`
SCOPES = [
‘https://spreadsheets.com/feeds’,
‘https://www.googleapis.com/auth/drive’,
]
SERVICE_ACCO
“localhost”をやめて…というお話…
# 今すぐ、”localhost”をやめよう!
`localhost`は時にとって、開発時の妨げになる。
これはサンプルコードで、例を投稿したり、マニュアルなどで使われたりする付属する厄介者のお話だ。例えば、ここにはあるサンプルコードを使って簡易的なサーバーを立てて欲しい。
参考例: [WebSockets](https://fastapi.tiangolo.com/advanced/websockets/) – by.FastAPI
実行時は、`uvicorn main:app –host 0.0.0.0 –reload `としてサーバーを起動してみよう。“`
from typing import Listfrom fastapi import FastAPI, WebSocket, WebSocketDisconnect
from fastapi.responses import HTMLResponseapp = FastAPI()
html = “””
【pythonメモ】回数指定のfor文(for .. in range)の使い方
#1.はじめに
様々なプログラミング言語で使われるforループ。
pythonでは回数指定のforが3種類ある。
今更だけど、どうにも使いずらいので自分用のメモとしてまとめてみた。#2.実行環境
OS:windows10
Python 3.8.10(jupyter notebook上で実行)
PHPはpaiza.ioで実行#3.for .. in range
###`パターン1)for 繰り返し変数 in range(N1)`
N1:指定回数
指定回数だけある処理を実行したい場合使える。“`python
for i in range(5):
print(“Loto6”)
“`
“`:出力結果
Loto6
Loto6
Loto6
Loto6
Loto6
“`
ただし繰り返し変数も利用したい場合は、その値は__0~N1-1__となることに注意が必要になる。“`python
for i in range (5):
print(“Loto6トライ:”+str(i)+”回目”)
“`“`:出力結果
Loto6トライ:0回目
Loto6トライ:1回目
kivyMDチュートリアル其の肆什陸 Behaviors – Magic篇
ハロー、Qiita!いかがお過ごしでしょうか。
もうはや1ヶ月が過ぎようとしていますね。このままだと年末までもういくつ
数えると状態になってしまいそうです。(意味不明)今週は目立ったニュースなどはありませんでしたが、最近、Twitterで技術
トレンドが多く載るような気がしてなりません。今週とかだとMacに関する
Linux/Unixの話題なんかがありましたし、TypeScriptの話題なんかも
あったような。。もう技術者がそこら中にいらっしゃるのか、非技術者が技術トレンドを扱う
ようになったのか、、街歩くとこの人もフロント技術者、あの人はバック
エンド技術者とかなっているのでしょうか。そういうスカウターがあれば
またそれもトレンドになるのだろうなー。はい、余談も過ぎてはいますが、いつものごとくKivyMDのことをやって
いきます。今週はというと、タイトルにもある通りMagic篇となります。
ではさっそく、レッツラゴ。## Magic
冒頭では一言で説明がありますね。ここにも掲載をしておきます。
> Magical effects for buttons.
これ
コロナ第6波東京:簡易実行再生産数(Rt)を使ったピークアウト動的予測
# 初めに
全国的にコロナの第6波が襲来中ですが、コロナの波については、簡易実行再生産数(Rt)、勾配、新規陽性者数の中で、Rtが最も早くピークアウトすることが経験的に分かっています。Rtがピークアウトした後は、Rtの日次減衰率の値から、将来の新規養成者数のピーク日と最大新規陽性者数の予測値を計算することができます。この方法を用いて、東京のピークアウトを予測してみます。
##### 簡易実行再生産数(Rt)とは
https://www.niid.go.jp/niid/ja/diseases/ka/corona-virus/2019-ncov/2502-idsc/iasr-in/10465-496d04.html“`{python}
import os
import numpy as np
import pandas as pd
import random
import seaborn as sns
import datetime as datetime
import matplotlib.dates as dates
import matplotlib.pyplot as plt
ディレクトリ・モジュール操作について(pathlib, os, sys)
# この記事で紹介するライブラリ
– pathlib
– os
– sys# この記事で紹介するライブラリの使用方法
## pathlibの使用方法
| クラス/メンバー | 使用方法 | 動き |
| — | — | — |
| Path() | – | 実行場所のパス取得 |
| Path(\_\_file__) | – | 実行ファイルのパスを取得 |
| resolve() | Path(\_\_file__).resolve() | 絶対パスを取得 |
| parent | Path(\_\_file__).resolve().parent | 親ファイルのディレクトリ取得 |
| joinpath() | path.joinpath(‘./folder/file.py’) | パスの連結 |## osの使用方法
| クラス/メンバー | 使用方法 | 動き |
| — | — | — |
| basename() | os.path.basename(\_\_file__) | 実行ファイル名の取得 |
| abspath() | o
WordleをPythonに解かせる
## Wordleとは
URL:https://www.powerlanguage.co.uk/wordle/Wordleは2021年末に公開された,巷で話題の英単語推測ゲームです.お題となる5文字の英単語が存在し,それを合計6回の試行で特定します.
回答者は一度英単語を入力すると,その単語とお題の単語のどの文字が一致しているかを知ることができ,文字も場所も一致している場合は緑,文字は合っているが場所が一致していない場合は黄,文字も場所もあっていない場合は黒で表示されます.
1日1題出題だけされ,なかなか楽しいゲームなのですが,やっぱりコンピュータにも解かせてみたいですよね.ということでWordleをPythonに解かせてみました.
## 5文字の英単語リストを取得する
まず,Wordleのお題になる条件である”5文字の英単語”のリストを作成する必要があります.
【Django】 django-environでシークレットキーを読み込んだ際に起こりうるエラー
#はじめに
・django-environを使用し、シークレットキーを読み取れなかった時の対処法を書きます。今回些細すぎるミスにより、4時間ほど解決のために時間を費やしたので、自分への戒めと備忘録として書きます。
また、どの記事にも単純なミスすぎて記載されてなかったので、記事を書きます。#前提
– Python 3.9.7
– Django 3.2.5
– django-environ 0.4.5
– 仮想環境
– venv# 解決方法
環境におけるdatabase.ymlを参照できていなかった。今回はcredintialsにdatabase.ymlのデータベースの設定を入れ、参照させることで解消した。“`
app
├── base
├── config
│ └── settings.py
├── manage.py
├── requirements.txt
└── secrets
├── .env.dev
└── .env.prod
“`
今回、開発環境でシークレットキーを渡したかったため、「.env.dev」ファイルとしています。“`
Windows10でpythonを用いた仮想環境の構築方法
## 仮想環境作成
“`
python -m venv [name]
“`
## 仮想環境立ち上げ
### ・Windows
“`
.[name]\Scripts\Activate
“`
### ・Linux
“`
source .[name]/bin/activate
“`
## 仮想環境から抜ける
“`
deactivate
“`
## 仮想環境を削除
### ・Windows
“`
rmdir /s [name]
“`
### ・Linux
“`
rm -s [name]
“`## ライブラリエクスポート
“`
pip freeze > requirements.txt
“`## ライブラリインポート
“`
pip install -r requirements.txt
“`
## 動画で確認する
デッキ画像から駒名称を抜き出す【特徴点マッチング編】
# はじめに
こんにちは。逆転オセロニアのYouTubeチャンネル「まこちゃんねる」の中の人です。
本稿では、以前にも挑戦した[デッキ画像から駒名称を抜き出すこと](https://qiita.com/macochan/items/f74c87e7c708dd6e7ed5)を目標にします。
今回は**特徴点マッチング**を使った方法を利用してみます。# モチベーション
前回は**[テンプレートマッチングを使った方法](https://qiita.com/macochan/items/f74c87e7c708dd6e7ed5)**を利用することで、テンプレート画像から駒名称を取得しました。が、この方法は**テンプレート画像を用意する手間があるのが問題点**でした。
そこで、今回はテンプレート画像を作らなくても良い手法で、かつ汎用性の高く、画像から駒名称を抜きだしたいと思ったのが始まりです。
GCPで冪等性を実現しようと頑張った試行錯誤の備忘録・日記です
## 結論
– GCPのリソースを自分なりに宣言的に定義できるようになったので、気軽に試行錯誤できるようになった
– 作ったPythonスクリプトは [こちら](https://github.com/kozohosok/gcp-cli-helper)## 経緯
### 1. GCPを触り始めた
よく使うクラウドはAWSだったが、世の中の風潮はマルチクラウドなのでGCPにも慣れておこうと思った。
(まだまだ勉強し始めた程度)### 2. コンソールで恐る恐る作業
必要な作業はGCPコンソールで実施できることを体感できた。
しかし、コンソール作業は指が疲れるし間違えやすいので、作業は自動化したい。
(使い慣れていたAWS CloudFormationのありがたみを回想する日々)### 3. Deployment ManagerでIaCを目指すが
構成管理サービスであるCloud Deployment managerがGCPにはあることに思い至った。
ドキュメントを見ると対応しているサービスがまだあまり多くはなさそうで今後の発展に期待したいと
知らない人は損しているなと思うChromeDriverを自動更新するPythonライブラリ
# 記事はこちらに移管しましたmm