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

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

pythonのopencvでカメラ画像を定期的に取得する最短の方法

# 背景

opencv を用いて簡単にカメラ画像を取得する方法と,それを定期的に実行する方法を紹介する.ここでのカメラとは,USBカメラや内臓カメラなどopencvで制御できるカメラに限定です.
設定などは,anaconda3系でpythonをお使いなのが前提の話です. windows, mac, linux のどのOSでも動作します.

一眼レフなど高級なカメラでの自動制御を行いたい場合は, gphoto を使うのが must です.gphotoの対応機種は,http://www.gphoto.org/proj/libgphoto2/support.php にあって,かなりのものが対応しています. [一眼レフカメラをラズパイからコントロール] https://qiita.com/class2glass/items/ab09d7abed9db5249bd7) が参考になります.

## 環境設定

### opencv の install

anaconda にはデフォルトでopencvが入ってないので,

“` bash:
conda install -c conda-for

元記事を表示

Gradleでメインクラスを変えてFatjarを作る

## 目的
Javaでしか使えないライブラリがあって、それをKotlinで実装したアプリケーションが既存でありました。
今回はその一部の機能をPythonのバッチから呼んで使いたかったので、
Kotlinアプリケーションのメインクラスを変えてjarを作り、
PythonからjavaコマンドでKotlinを叩こうと思いました。

Gradleをうまく使えば、メインクラスを変更してFatjarを作ることができるみたいなので、
チャレンジしてみます

## 環境
Kotlin JDK 8
java8
jdk14
Gradle 6.4.1

## 構造
試してみる用に簡単なプロジェクトを作成してみました

“`
app
├── gradle
│ └── wrapper
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
├── build.gradle
└── src
├── main
│ ├── kotlin
│ │ └── aut

元記事を表示

PyCharmでデバック時にコマンドライン引数を指定する方法

– 環境
– Windows10 Pro バージョン1909
– PyCharm 2020.2.2 (Community Edition)

1. [Run] > [Edit Configurations]で[Run/Debug Configurations]ダイアログを開く
1. 左のメニューから[Python] > 対象のソースを選択する
1. [Configration]タブ > [Parameters:]に引数にしたい値を入力する
1. [OK]ボタンでダイアログを閉じる
1. 普通にデバック実行(Shift + F9)する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159761/74b410a4-5561-fcc5-29e7-b60e96cc8665.png)

元記事を表示

Python触ってみた(基本構文編)

# はじめに
[Python触ってみた(インストール編)](https://qiita.com/ok2/items/2964ebfb8254b465e77d)の続き

# 事前に確認&やっておくといいこと
– 仮想マシンにSSHで接続すると日本語が文字化けしてしまいました。
– 調べたら以下の記事が困っていたことにドンピシャでした!
– [SSH環境下のCentOSで文字化けした場合の対処法](https://qiita.com/Dakini/items/a9eb4546c38a6c8a9518)

“`console:仮想マシン
# 状態確認 → VC Keymapがusになっている
$ localectl status
System Locale: LANG=ja_JP.utf8
VC Keymap: us
X11 Layout: n/a
# VC Keymapをjp106に更新(sudoつけて実行)
$ sudo localectl set-keymap jp106
# 再度状態確認 → VC Keymapがjp106に更新
$ loca

元記事を表示

アート作品の鑑賞状況をOpenCVで可視化する

## 概要
* アート作品の価値を可視化するシステムを作りたいと、福岡のアーティストの方より依頼があった。
* アート作品をどれだけの人が、どのくらいの時間鑑賞したかをできるだけ安価なシステムで実現できないか検討した。
* RaspberryPiをアート作品の前に設置し、OpenCVで顔検出した時間を累積することとした。
* データ可視化サービスとしてAmbient(https://ambidata.io) を使った。
* データのアップロードはRaspberryPiのWifi経由とした。
* インターネットにカメラ映像は流れず、送信する数値データのみとすることにした。

![スクリーンショット 2020-10-01 9.18.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/701445/40769a45-c73e-1b91-cef1-396f22b0cb77.png)
福岡市のスタートアップ支援施設 FGN(https://growth-next.com) に設置し運用してみた様子。
![スクリー

元記事を表示

【割合を可視化】plotlyで動的な可視化をする【python,pie,sunburst,sanky,treemap,fannele,】

![tr.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/275572/d8fbf224-15b0-ba6d-3be0-361d1aff7ad9.gif)

python==3.8
plotly==4.10.0

#pie(円,ドーナッツ)

##基本の円

もはや円グラフについての説明は必要ないだろう

“`python
import plotly.express as px
df = px.data.tips()
fig = px.pie(df, values=’tip’, names=’day’,
title=’pie plot with PX’)
fig.show()
“`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/275572/75620d1e-a7ac-6752-4a14-27b9e693219d.png)

##graph_objec

元記事を表示

Django Python シフト表

HtmlとCssでどうやって表のスクロールをコントロールするのかを調べて実装してみたのですが、どうにもこうにもうまくいかないところがある状態です。

現在の状況

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/701342/3d9ffb46-792b-269d-5d43-74abe536d5d2.png)

初期表示の時は問題ない感じですが…

スクロールをすると

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/701342/883eeb6a-106e-6430-4a8e-10cffc1bf81c.png)

左上のタイトル部分が透明になってしまい名前が可視化されてしまっています。
日付と曜日についても透けているのですが(笑)
表を作成するときに参照したサイト
参照元:https://webliker.info/75964/

HTMLのtableでテーブルを作る方法と応用テクニックを解説


他にも

元記事を表示

ゼロから作るDeep Learning 2 自然言語処理編 1.3 まとめ

# これはなに

社内の勉強会で発表するときに使った資料です

# 1.3 ニューラルネットワークの学習

## 1.3.1 損失関数
ニューラルネットワークで”良い推論”をするためには、最適なパラメータを設定しなければならない

ニューラルネットワークの学習には、学習がどれだけ上手くいっているかを知るための指標が必要
→**損失**という

ニューラルネットワークの損失を求めるために使うのが**損失関数**

– 損失関数
– 2乗誤差(ゼロから始めるDeep Learning 1 にあった)
– @ohakutsu 回帰に使うのかな?
– 交差エントロピー誤差
– 多クラス分類に用いられることが多い

今節では、損失を求めるのに以下のようなレイヤ構成にする

![1e49abb0-2cb2-dd5d-d881-5ee1cf946b46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/352836/e52896a0-

元記事を表示

Pythonのデバッグを完全理解

# デバッグ

 デバッグは開発者にとって、とても重要なスキルの1つです。デバッグをすることで、エラーを正確に特定し、プログラムのバグを見つけることができます。Pythonでは、さまざまなデバッグツールやパッケージ(デバッガーとも言う)が提供されています。これらをどう使うかを紹介していきます。

## pdbでデバッグ

 [「pdb」](https://docs.python.org/ja/3/library/pdb.html)はPython標準ライブラーのデバッグツールで、Pythonプログラムにインタラクティブなソースコードデバッグ機能を提供しています。使い方はC言語の[「gdb」](https://ja.wikipedia.org/wiki/GNU%E3%83%87%E3%83%90%E3%83%83%E3%82%AC)と類似しています。`pdb`の主な機能として、[「ブレークポイント」](https://ja.wikipedia.org/wiki/%E3%83%96%E3%83%AC%E3%83%BC%E3%82%AF%E3%83%9D%E3%82%A4%E3%83%B3%E

元記事を表示

【Windows10】【開発環境構築】VSCodeでunresolved import ‘django.xxx’ python(unresolved-import)が発生時の対応

##発生事象
vscodeでdjango関連のunresolved importが発生。
たとえば、unresolved import ‘django.urls’ python(unresolved-import)といった具合です。

気持ち悪かったので、解消した対応方法を。

##開発環境
– Windows版dockerで開発環境を構築。Pythonの仮想環境はpipenvを利用しています。

| 項目 | バージョン |
|:———–|:————|
| OS | Window10 2004 |
| Python | 3.8.2 |
| docker | 2.3.0.5 |
| Editor | VSCode:1.49.2 |

– 仮想環境の各種ソフトウェアバージョンは下記の通りです。

| 項目 | バージョン |
|:———–|:————|
| OS | ubunts:20.04
| python | 3.8.2 |
| Django |3.0.6 |
| gunicorn | 20.0.4 |
| psycopg2

元記事を表示

最もシンプルなAWS Lambdaの実装

#はじめに
「とりあえず、AWS Lambdaを体験してみたい」人用の記事です。
初心者向けに「S3と連携して~」みたいな記事は多いのですが、
意外とシンプルな実装を投稿している人が少なかったので今回やってみました。
早ければ10分程度でAWS Lambdaを体験できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287677/65b90fb1-e052-96a5-a79f-9748ba0d8ba3.png)

今回作成するシステムの構成図↑

#全体の流れ

①AWS Lambda関数の作成

②API Gatewayの作成、AWS Lambdaとの接続

③テスト

#①AWS Lambda関数の作成
一から作成で、test_funcという名前の関数を作成します。
ランタイムは何でもいいですが、今回はpyhonを選択します。
![image.png](https://qiita-image-st

元記事を表示

ハノイの塔に再帰で挑む

こんばんは。
いつも応援、有難うございます。

有識者の皆様の見解を色々と拝見しましたが、
なかなか難しかったです。
多分自分の理解能力の問題なので、しょうがない。

まずはやってみましょう。
2 個の円盤を左端から、右端に移動させてみます。
ここで、右端、中央、左端の表現が微妙なので、
数字を割り振ります。
左端:1 , 中央:2 , 右端:3 とします。
![図1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/612bddab-f9d2-5e8c-5cbe-09adba010853.png)
しれっと書きましたが、
右図に動かした円盤と何処から何処に
動かしたか、補足しています。

前回の記事にある階乗を再帰で攻略しましたが
流用出来ないでしょうか?ちょっと眺めてみましょう。

“`cure.py
def test(n:int=3):
if n>1:
return n * test(n-1)
else:
return 1
“`

やり

元記事を表示

ubuntu18.04をクリーンインストールした後にROSを導入するまでとそのコマンドの解説

特に難しいことがあるわけではないが、クリーンインストールすることが多かったので一応書いておきます。

##まずはカーネル周りの整備
上から

・カーネルの更新
・apt-getにてインストールできるパッケージの一覧を更新
・所持しているパッケージを最新版に更新

“`
sudo apt-get install linux-generic-hwe-18.04-edge
sudo apt-get update
sudo apt-get upgrade
“`

##続いてpythonなどの開発環境のインストール
上から

・pipのインストール
・ジュピターノートのインストール
・pipによるTensorflowのインストール
・pipによるopencvのインストール

“`
sudo apt-get install python3-pip python3-pandas python3-sklearn
sudo apt-get install jupyter-notebook
sudo pip3 install tensorflow pandas-ml
sudo p

元記事を表示

魚眼レンズの歪みを画像に付加させてみる

びぼうろく
http://www.sanko-shoko.net/note.php?id=wvb7

“`python

import numpy as np
import open3d as o3d
import cv2
import math

# 一つあたりの格子の長さ
CONST_IMG_PER_WIDTH = 10
CONST_IMG_PER_HEIGHT = 10

# 格子の数
CONST_IMG_NUM_WIDTH = 100
CONST_IMG_NUM_HEIGHT = 100

RGB_WHITE = [255,255,255]
RGB_BLACK = [0,0,0]

def write_point_cloud(path,pcl):
assert o3d.io.write_point_cloud(path, pcl),”error : fail to write pointcloud = ” + path

def exportPLYfromNumpy(nplist, colorList, outputPath):
pcd = o3d.geom

元記事を表示

Djangoでformから読み込んだPIL形式の画像をbase64形式に変換する

# はじめに
メモ程度なので、Djangoの細かい設定は省きます。
プロジェクトはimage_pred, アプリ名はmyappとしています。
設定は公式ページの最初の部分にあるような基本的なところしかやっておりません。
#プログラム
index.htmlから、フォームを使って画像を送ります。

“`index.html
{% load static %}




title

{% csrf_token %}
{{ form }}

<

元記事を表示

RaspberryPiのPythonをVisualStudioでデバッグしてみる。

##少しでも楽にPythonが作れるように

RaspberryPiもPythonも始めたばかりで、なかなか手強いです。
そこで、VisualStudio上でPythonのデバッグができないかという切実な思いから試してみました。
なんとか、いけそうな感じです。
環境を整えるためのハードルは高くないと思いますので、一度試してみてはどうでしょう。

###目標
サクラエディタで修正して、WinSCPで転送して、TeraTermからPythonを実行するというループを、少なくしたい。

低機能でもシンプルなものがいい。

Pythonに慣れてきたら不要となるものは避けたい。

###対応案
VisualStudioでPythonも動くらしい。
大好きな『ステップ実行』もできるらしい。

###対応案の検討
Pythonの知識が圧倒的に無いため、複数案を検討できなかったが、デバッグ強化というお題目には『ステップ実行』は捨てがたいので何とかしたいとうか、動かしたい。
VisualStudioで動かすためには、Win10ではコンパイル(表現が適切かは不明)ができないので、動かせない。

**コンパ

元記事を表示

[Python] タイムゾーンを加味したdatetimeを比較するには

# 概要
Pythonでタイムゾーン付きdatetime(aware)とタイムゾーンなしdatetime(naive)で比較しようとするとエラーになったので解消方法をまとめました。

# 環境
“`
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.6
BuildVersion: 19G2021

$ python3 –version
Python 3.7.3
“`

# 比較
datetime関数にタイムゾーン情報を渡さずに単純に比較してみると

“`
$ cat sample.py
#!/usr/bin/env python3

from datetime import datetime, timedelta, timezone

def main():
now = datetime.now()
a_day_ago = datetime.now() – timedelta(days=1)
print(‘success’) if now > a_day_ago else print(‘fail

元記事を表示

Pythonプログラムの静的解析

# はじめに
Pythonで利用できる以下の便利なツールの簡単な使い方をまとめました。

– pipenv
– black
– flake8
– isort
– mypy

# pipenvとは
Pythonで開発するときにパッケージの管理や仮想環境の構築を簡単にやってくれます。
Node.jsのnpmのような感じです。

## 準備
1. pipenvのインストール

“`bash
pip install pipenv
“`

2. pipfileの作成

“`bash
pipenv –python 3.8 # 3.8の部分は使用したいPythonのバージョンに変更可能
“`
`Pipfile`が作成されます。

3. 開発用パッケージのインストール
開発時にしか使用しない静的解析ツールをインストールします。

“`bash
pipenv install –dev black –pre
pipenv install –dev flake8 –pre
pipenv ins

元記事を表示

pytestでMockを使う

# はじめに
pytestを使用してテストコードを書いたときに、Mockの使い方に苦労したのでまとめてみました。

# Mockとは
Mockは特定のオブジェクトの代理をして、ユニットテストを円滑に進めるためのモジュールです。

# 準備
1. pytestのインストール

“`bash
pip install pytest pytest-mock
“`

2. テスト対象のコードの作成

ディレクトリ構成

“`bash
root
├─src
│ └─script.py ・・・テスト対象のソースコード
└─tests
├─__init__.py ・・・空ファイル
└─script.py ・・・テストコード
“`

テスト対象のソースコード

“`python:src/script.py
import requests

def sample1(url):
return sample2(url)

元記事を表示

FastAPIとDockerでPDFファイルをTIF画像に変換するAPIを作る

# はじめに
上司からFastAPIが良い感じらしいと聞いたので触ってみました。
シンプルにGETリクエストして文字を返すのではつまらないので、PDFファイルをTIF画像に変換するAPIを作成しました。

# FastAPIとは
[FastAPI](https://fastapi.tiangolo.com/)はPythonのWeb frameworkで、Flaskに似たようなものです。

# 開発環境
– Windows10 Pro
– Docker for Windows

# 実装

## ディレクトリ構成

“`bash
root
├─app.py
├─Dockerfile
├─requirements.txt
└─test.pdf
“`

## Dockerfile

“`Dockerfile:Dockerfile
FROM python:3.8

# PDFの変換に必要なpopplerをインストール
RUN apt-get update && \
apt-get install -y poppler-utils

# Pythonモジュールのインストール
COP

元記事を表示

OTHERカテゴリの最新記事