Python関連のことを調べてみた2020年04月02日

Python関連のことを調べてみた2020年04月02日

TeamsやZoomでカメラ画像を加工する方法 アニメ風に加工するの巻

` 本記事はこちらでも紹介しております。`

前回と前々回の投稿では、TeamsやZoomでカメラ画像を加工する方法をご紹介しました。これらの投稿では、笑顔や感情(表情)を検出してニコニコマークを表示するデモをご紹介しています。

https://qiita.com/wok/items/0a7c82c6f97f756bde65
https://qiita.com/wok/items/06bdc6b0a0a3f93eab91

今回、もう少し拡張して、画像をアニメ風に変換して表示する実験をしてみたので、ご紹介します。最初にネタバレしておくと、リアルタイムでアニメ風画像に変換するにはCPUだとちょっとラグが大きすぎて使いづらいかなと思います。(GPUだとマシになるのかは試してない。)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365991/4d21e5a3-63c

元記事を表示

画像データ 型変換 【Python】

# 概要

Pythonにて画像データを扱うとき、「numpy(opencv)」「pillow」「byte」にて扱うことがある。それぞれの型変換させるための備忘録。

# numpy -> bytes(未検証)
“`python
num_bytes = num_numpy.tobytes()
“`

# numpy -> pil
“`python
num_pil = Image.fromarray(num_numpy)
“`

# pil -> bytes

“`python
num_byteio = io.BytesIO()
num_byteio.save(num_pil, format=’png’)# 仮にpngにしている
num_bytes = num_byteio.getvalue()
“`

# pil -> numpy
“`python
num_numpy = np.asarray(num_pil)
“`

# bytes -> numpy

“`python
num_byteio = io.BytesIO(num_bytes)
with Image.op

元記事を表示

virtualenvでpipdeptreeを使う

virtualenv上にpipdeptreeを入れて以下のコマンド。

“`bash
python -m pipdeptree
“`

# 環境

“`
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.4
BuildVersion: 19E266
“`

– Python: `3.6.1`
– pip: `9.0.1`
– pipdeptree: `0.13.2`

元記事を表示

Python はじめから勉強 Hour8:パッケージの利用

# Python はじめから勉強 Hour8:パッケージの利用

* Pythonで何かしようとしたときに、まずサンプルスクリプトを探してなんとなく実行してた私が、
* 自動実行でREST API叩いて、結果の確認、VM操作までやってみたいと思う7時間
* と思ってたら7時間を超えて10回になりそうです。
* 今回はモジュールの利用。モジュールを使うことで品質が高く、クイックにコードを作成することができますね。やっとここまで来たよ

## 学習資料

* たった 1日で基本が身に付く! Python超入門
* https://a.r10.to/hbHMiv

## 過去の投稿

* [Python はじめから勉強 Hour1:Hello World](https://qiita.com/matsumo2019/items/5a69381f44456e6e6a5d)
* [Python はじめから勉強 Hour2:制御文](https://qiita.com/matsumo2019/items/6daa862fd34c8929fb65)
* [Python はじめから勉強 Ho

元記事を表示

Pythonで制御可能な直流電源の調査

電子回路の実験で使う機器がPythonで制御できると、様々な実験やテストが自動化できて便利である。ということで、Pythonで制御可能な直流電源を探してみました。

まとめ
– VISA/SCPIプロトコルサポートの製品であれば、Pythonで制御可能
– 安価なところだと Rigol、Siglent の製品が良さげ

# 参照

## Standards

– GPIB (IEEE-488.2)
– 昔の標準、ケーブルが驚きの太さ
– RS232
– 昔の標準、USB変換できるが手間
– LAN
– 大量に制御とか、距離があるときは便利
– USB
– お手軽
– Using Linux to Control USB Instruments
– http://literature.cdn.keysight.com/litweb/pdf/5989-6718EN.pdf
– USB計測器制御チュートリアル
– http://www.ni.com/tutorial/4478/ja/
– SCPI

元記事を表示

AtCoder Beginner Contest 089 過去問復習

#所要時間

スクリーンショット 2020-04-01 16.39.23.png

#感想
すでに解いたことのあった過去問になりますが、D問題でまた同じミスをしてしまいました。
D問題のセクションにてミスの内容について言及します。

#[A問題](https://atcoder.jp/contests/abc089/tasks/abc089_a)

3人のグループなので3で割れば良いです。

“`python:answerA1.py
print(int(input())//3)
“`

#[B問題](https://atcoder.jp/contests/abc089/tasks/abc089_b)

色が何通りあるか数えれば良く、setで重複を消してしまえば良いです。

“`python:answer

元記事を表示

windows10にpythonとVisualStudioCodeをインストールする(2020年4月版)

# 概要
Windows10にPython3とVisualStudioCodeをインストールしたので備忘録

## 動画
動画版もこちらにおいておきます。
[![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/QRnmsGYL0dM/0.jpg)](http://www.youtube.com/watch?v=QRnmsGYL0dM)

#手順
## 1.Python3 インストール
### 1-1. ダウンロード
下記のURLからダウンロードしてください。
https://www.python.org/
image.png

image.pngmatplotlib 色一覧の作成

# はじめに
最近は趣味でも仕事でも、行う計算はほとんどPythonで行っており、グラフ化もPython matplotlibで行っている。グラフには識別性を上げるため、色を使うことになるが、matplotlibの色一覧を手元においておきたいと思い、色一覧の画像を作成した。

# 作例

![fig_col_mpl.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129300/745fe9dc-fed2-952f-9f75-aabd9cf00355.png)

# 作り方
以下を参考にmatplotlibで扱える色一覧を取得する。辞書形式で色名および16進の値が取得できる。

[matplotlib で指定可能な色の名前と一覧](https://pythondatascience.plavox.info/matplotlib/%E8%89%B2%E3%81%AE%E5%90%8D%E5%89%8D)

あとは“`fill“`を使って指定した矩形領域を塗りつぶしていくだけである。

しかし、グラフ作

元記事を表示

mock

“`salary.py
import requests

class ThirdPartyBonusRestApi(object):
def get_api_name(self):
return ‘Bonus!’
def bonus_price(self, year):
r = requests.get(‘http://localhost/bonus’, params={‘year’:year})
return r.json()[‘price’]

class Salary(object):
def __init__(self, base=100, year=2017):
self.bonus_api = ThirdPartyBonusRestApi()
self.base = base
self.year = year

def get_from_boss(self):
return 0

def calculation_sal

元記事を表示

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装のchapter 3のヒント

https://github.com/oreilly-japan/deep-learning-from-scratch/blob/master/ch04/two_layer_net.py

“`
loss_W = lambda W: self.loss(x, t)

grads = {}
numerical_gradient(loss_W, self.params[‘W1’])
“`

の部分ですが、`numerical_gradient`の第二引数は参照渡しになっているようです。

元記事を表示

「この事象はX回中にY回の確率で発生します。」

# はじめに

さまざまな場面である事象が発生する確率や精度を算出し、それを伝える場面があると思います。(例えば、「この事象が発生する確率は0.7327、73.27%です。」など。)この時、確率を言い換えて、X回にY回ですと言いたくありませんか?もしくは、「つまりは、何回中に何回発生するの?」と尋ねられることがあるかと思います。特に、聞き手は具体的にも聞きたいと思っています。

確率の値のみを見て、本記事のタイトルのような「この事象はX回中にY回の確率で発生します。」と言いたい時に、@daikikatsuragawa は頭がこんがらがってしまったことがありました。それゆえ、確率の値を入力値として、分数に変換し出力し、「この事象はX回中にY回の確率で発生します。」と言うことができるようサポートする関数を作成しました。

# 「この事象はX回中にY回の確率で発生します。」

コードは以下のようになりました。

“`python:sample(1)
from decimal import Decimal
from fractions import Fraction

# 確率を分数に変換

元記事を表示

Python で感染が広がる様子をシミュレーションしてみた

# モチベーション
今回、メルケルさんやジョンソンさんが言及している内容や厚生労働省が発表している内容を正しく理解するひとつの端緒となるべく、感染が広がる様子をシミュレーションをしてみました。

## なぜ Qiita?
今の時期に(2020年4月1日)こんなシミュレーションをするのはけしからんという向きもあるでしょうが、Qiita を読むような人なら正しくその趣旨や内容を理解すると思ったので。
時期が来たら消すかもしれません。

## 内容は?
ソースは github で公開しています。(https://github.com/ryos36/sim-covid-19) 。医学的根拠や数学的根拠(とくに統計)はないことに注意してください。また、結果はあくまでシミュレーションです。パラメタを変えれば結果は自分の求めるものに合わせられてしまいます。

# プログラムの中身
プログラムは Python で書いてあります。かなり RAPIDに(やっつけで)つくったのと十分なテストがされてないため、バグはあるでしょう。そこそこの結果が出ているので現時点では個人的に良しとしています。パラメタは変えら

元記事を表示

OpenCvSharp4でカメラ用キャリブレーションファイルを使う

## はじめに
こんばんは
OpenCvSharp4を使ってWEBカメラのキャリブレーションを行ったので備忘録として残します。
キャリブレーション自体の理論や理屈はまだまだ理解できていないのでコードが動いただけですが。。。

## 環境
WEBカメラ : FullHD 1080P(200万画素カメラ)
キャリブレーションファイル作成:python(python-opencv)
カメラレンズ歪み計算:C#(opencvsharp4.windows)

## pythonでカメラキャリブレーションyamlファイルの作成
本当はOpencvsharpでキャリブレーション計算も行いたかったのですが
いかんせん3系のサンプル達の流用が難しく、4系で置き換えるのも私のレベルでは太刀打ちできそうにもなかったので大人しくサンプルのあるpythonで計算を行います

というわけで[こちら](https://qiita.com/ReoNagai/items/5da95dea149c66ddbbdd)を参考に以下のコードを作成して実行します。
核になる部分はほとんどコピペです。。。
いや、ほんとありがたい。

元記事を表示

競プロ デビュー戦記 AtCorder Beginner Contest 160

#デビュー戦 〜AtCorder Beginner Contest 160〜
データサイエンティストとして勤務してちょうど1年が経ち、自分のコーディングの実力を客観的に知りたいと思いAtCorderに挑戦してみました。

と言っても普段業務で使っているSASでは参加できないので、ひまひまに触っていたPythonの文法をさらっと復習しAtCorderの使い方を覚えvscodeでテストできる環境を整えいざ出陣!!

とりあえず3完ぐらいできればいいかなくらいのノリで!

実際の問題は以下のリンク参照
https://atcoder.jp/contests/abc160/tasks

##A – Coffee
与えられた長さ6の英小文字がcoffeeに似ているかを判定する問題。
競プロ経験者からすると瞬殺する問題らしいのだが文字列を1文字づつ取りだすという基礎中の基礎もおろそかだったのでこの問題で9分消化(泣)

“`Python
N = input()
if N[2] == N[3] and N[4] == N[5]:
print(“Yes”)
else:
print(

元記事を表示

BlenderをPythonで操作する

#1.初めに
blender上のPythonで簡単なモデリングを行う手順を紹介します。
なお、環境はblenderのバージョンは2.8.5、OSはWindows10です。
なお2.7から2.8で仕様に大幅な変更があったのでご注意ください。2.7と2.8の互換性はほぼないと思っていただいてよいと思います。

#2.日本語設定
日本語を使う必要がある方は以下の設定をします。特に難しいことはありません。
User Preferences → Interfaceタブ
Translationにチェックを入れて、LangageをJapaneseに設定
Tooltips、Interface、New Data3つすべてをONにし、ユーザー設定の保存をクリックします。
なお、現時点でのバージョンではエディタ上で日本語は直接入力ができません。必要な時は他のテキストエディタで入力した文字をコピペします。

#3.blender上でのPythonの使い方
blender上でPythonコードを実行しエラーが発生した場合は、コンソール画面を表示する必要があります。
コンソール画面を表示するには
### Wind

元記事を表示

Chalice を使ってみるなかで調べた小ネタ3点

## 1. 静的ファイルを Lambda 関数に含める方法

– シナリオ: 簡単な設定ファイル (YAML, JSONなど) を Lambda 関数内で読み込むファイルとして扱いたい。
– 問題: `app.py` と同じディレクトリに `env.yml` を置いたが、 `chalice deploy` してもファイルがアップロードされなかった
– 解決策: chalice プロジェクトの下に chalicelib というディレクトリを作って、そこにファイルを置く。 以下のtreeの結果を参照。
– 使うときは `filepath = os.path.join(os.path.dirname(__file__), ‘chalicelib’, ‘env.yml’)` などのように読み込ませて解決。
– [公式マニュアルでも同様のことが示されている](https://chalice.readthedocs.io/en/latest/topics/multifile.html)

“`bash
$ tree -a .
.
├── .chalice
│   └── conf

元記事を表示

10 分で終わる Django の外部キーのチュートリアル

2020-04-01 作成: windows10/Python-3.8.2-amd64/Django-3.0.4

Django の外部キーについての日本語の情報は、ネットでも豊富ではありません。
しかし普通は、「好きな食べ物」と「住所録」は、別のアプリにするはずで、
外部キーの使い方は基本必修項目なのだろうと思います。

同じデータベース内と、外部のデータベースへの外部キーについて、
簡単なチュートリアルを作成しました。
複数のデータベースを相互に関連付ける方法を手軽に知りたい、という人向きです。

– ねこカフェ用のねこ管理アプリ cafe
– ねこの名前のテーブルと、好きな食べ物のテーブルをつくり、外部キーで関連付ける。
– ねこの住所録のアプリ negura
– ねこのすみかのデータベースを作る。cafe アプリから外部キーで呼ばれる。

なお、Django を初めて使う人は、まず基本編のチュートリアルを読んでください。
[10 分で終わる Django の実用チュートリアル](https://qiita.com/taiyaki/items/352d36cda37af74

元記事を表示

活性化関数のいらないニューラルネットワークΠ-Netを試した

# はじめに
CVPR2020に採択された以下の論文で提案された,新しいニューラルネットワークである$\Pi$-NetをPyTorchで実装しました。

Chrysos, Grigorios G., et al. “$\Pi-$ nets: Deep Polynomial Neural Networks.” arXiv preprint arXiv:2003.03828 (2020).

学習に使った全体のコードは[GitHub](https://github.com/kzkadc/poly-nets)にあります。

# Π-Netとは?

$\Pi$-Netではネットワークを途中で分岐させ,**再び合流する部分で掛け算**を行います。
これにより,出力が入力の多項式で表現されます。

普通のニューラルネットワークでは,各層の出力にReLUやSigmoidなどの活性化関数を適用することで非線形性を持たせています。
活性化関数を使わないと,ネットワークの層数をいくら増やしても入力に対して線形な出力しかできないため,意味がありません。

しかし,$\Pi$-Netでは中間層の出力同士で掛け

元記事を表示

[CentOS8]Pythonの標準出力をsystemdのログに吐く方法

#はじめに
PythonでTwitterのボットを作ったのだが、print関数で出力したログ`systemctl status`コマンドでみることができずはまったので解決方法を覚え書きです。もっといい方法があったら教えていただけると嬉しいです。

#環境
CentOS Linux release 8.1.1911 (Core)

#Unitファイルの記述
`etc\systemd\system\`におくUnitファイルの記述

“`bot.service
[Unit]
Description=Python Tweet Collector

[Service]
ExecStart=実行ファイル(ここではBotを起動するシェルスクリプト)のパス
Type=simple
StandardOutput=journal #標準出力をjournalctlで見られるようにする
StandardError=journal #標準エラーをjournalctlで見られるようにする

[Install]
WantedBy=multi-user.target

“`

#Pythonコマンド実行時のオ

元記事を表示

【初心者向け】ある条件式を満たす要素のインデックスを取得したい

# 背景
プロpythonistからすれば普通のことなのかもしれないんですが、
自分は理解するのに時間がかかり、
理解できたらその強さに感動した。。。ので。。。

#ndarray[条件式]

行列のままで各要素がある条件を満たすか満たさないかを判別し、
その結果のTrue/Falseを同じ形状の行列として出力してくれます。

### 例

“`python
arr = np.array([[0,1,2,3],[0,2,4,6]])
print(arr<3) # [[ True True True False] # [ True True False False]] ``` #numpy.nonzero 行列の0でない要素のインデックスを取得してくれ、x,y別のndarray配列として出力されます。 ```python # 例の定義 arr_int = np.array([[3,5,0],[0,4,0]]) arr_bool = np.array([[True,True,False],[False,True, False]]) # np.nonzeroの利用 non

元記事を表示

OTHERカテゴリの最新記事