- 0.0.1. OpenCVインストール時のbuildが終わらない問題の解決法(PEP517)
- 0.0.2. EventとQueueを使ってマルチスレッドなズンドコキヨシ
- 0.0.3. python x tensoflow x 画像顔認証
- 0.0.4. 【画像保管計画】Pillow Image to Blob in MySQL
- 0.0.5. Blender 2.9, Python 奇数偶数ビル
- 0.0.6. VB6にもmakeを。
- 0.0.7. スライス
- 0.0.8. 【pyxel】「failed to initialize SDL Audio in ‘Audio’」の解決法
- 0.0.9. Automatorでシェルスクリプトまとめ【更新版】
- 0.0.10. raspberryPiとjulius(音声認識)を使用する。①マイク編
- 1. 使用するもの
- 1.0.1. AWS EC2のUbuntuでPython開発(JupyterLabの使用)
- 1.0.2. 暗号化データをPythonとC#間でやりとりする
- 1.0.3. 【SIGNATE】「民泊サービスの宿泊価格予測」にchallenge
- 1.0.4. Python: pydub の使い方 (再生)
- 1.0.5. Python: pydub の使い方
- 1.0.6. 【PyQt × pySerial】PCに接続されたCOMポート一覧をコンボボックスに表示
- 1.0.7. VScode上でubuntuを操作する(windows10)
- 1.0.8. 【複数のグラフを描画とラベル】plotlyで動的な可視化をする【python3,make subplot, xlabel, ylabel】
- 1.0.9. 正規表現確認クイズ!
- 1.0.10. Blender 2.9, Python 背景光 色テスト
OpenCVインストール時のbuildが終わらない問題の解決法(PEP517)
## OpenCVインストール時にインストールが終わらない問題
“`:実行コマンド
pip install opencv-python
“`“`:出力
Building wheels for collected packages: opencv-python
Building wheel for opencv-python (PEP 517) … –
“`# 原因と解決法
openCV-Pythonの古いバージョンはwheelのコンパイルを必要としないため、ここで止まってしまう。
pipのバージョンが古いため起きる問題であるため、`pip install –upgrade pip`を実行した後、
再度opencvをインストールする事で解決する。
EventとQueueを使ってマルチスレッドなズンドコキヨシ
マルチスレッド動作を確認したくて、[ズンドコキヨシ](http://qiita.com/shunsugai@github/items/971a15461de29563bf90)を作ってみました。
3人の歌手にスレッド動作してもらい、1秒間隔で「ズン」か「ドコ」を歌ってもらいます。
Queueはマルチスレッド対応で、複数スレッドから格納されたデータを順番に取り出すことができます。これをマイクに見立てています。
スレッドが違っても同じオブジェクトを参照するはずなので、ZUN か DOKO かを `==` ではなく `is` を使って比較しています。“`py
#!/usr/bin/env python3import time
from random import random
from threading import Thread, Event
from queue import QueueZUN = “ズン”
DOKO = “ドコ”
KIYOSHI = “キ・ヨ・シ!”class Singer(Thread):
def __init__(self, mic):
python x tensoflow x 画像顔認証
※本記事は記載途中です。
【目標】
・windows環境で画像ファイルを読み込み人の顔を認識させる。【環境】
OS:windows10/CPU:x64 i7-9750/MEM:16GB
VisualStudio Code(VSCode)
[拡張機能]
・Japanese Language Pack for VS Code
・Python extension for Visual Studio Code【参考】
・TensorFlowを使って顔認識器を作る
https://qiita.com/Hironsan/items/4c7808db4a0f172f98a9・TensorFlowで日向坂46の顔識別をしてみた -顔画像検出編-
・SSDにMobileNetを組み込んで軽量化する (1)
https://proc-cpuinfo.fixstars.com/2018/12/mobilenet-ssd-1/・MobileNet(v1,v2,v3)を簡単に解説し
【画像保管計画】Pillow Image to Blob in MySQL
# 背景
かつて誰もが為し得なかった神への道を目指し、僕はPythonで動画サイトのサムネ画像をスクレイピングで色々収集してまして、それをPillowモジュールで加工したものをMySQLで作ったテーブルのBlobカラムに保管しておきたいという必要に迫られました。画像の数は大量にあるので、ストレージの節約のため、いちいちファイルに書き出したりせずにオンメモリでBlobカラムに挿入する方法が欲しかった。その過程で調べて得られた手順をここに残しておきます。# BLOBフィールド、展開!
以下のようなBLOB型のカラムimgfileを含んだimg_materialテーブルをMySQLのDBで定義しておきます。“`
CREATE TABLE `img_material` (
`video_id` char(11) NOT NULL DEFAULT ” COMMENT ‘動画ID’,
`imgfile` blob DEFAULT NULL COMMENT ‘画像ファイル’
) ENGINE=InnoDB DEFAULT CHARSET=utf8;“`
# P.I.L.
Blender 2.9, Python 奇数偶数ビル
blender 2.9, python. movie 1sec. 400*300px resolution. 奇数偶数で大小の直方体重ねて2色塗り分け。カメラ円周沿いで移動。色分けした直方体を乱雑に並べたら建築に見えるかなと思いましたが直方体ではあまりに無表情なので、マンションのベランダ形状を真似て奇数で小さい、偶数で大きい直方体を重ねました。少ないポリゴンでそれなりの建築風味の外観。で建物の階の全体数と色分けもやってみました。
動画はtwitterで[blender 2.9, python. …奇数偶数で大小の直方体重ねて ](https://twitter.com/naohiko7/status/1313479815756947461) をどうぞ。
(なお、最近の記事はblender 2.9で作業したものですが、blender 2.8タグ付けています。2.9タグがないもので。自分で触った範囲では pythonスクリプトは2.8から2.9で変化ほぼ無いかの様子です )
![bpy_nh27PNG.png](https://qiita-image-store.s3.ap-n
VB6にもmakeを。
## まえがき
VB6の[IDE](https://ja.wikipedia.org/wiki/%E7%B5%B1%E5%90%88%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83)はmake的挙動をやってくれない。つまり一連のソースコードになんの変更が無くてもコンパイルを実行すると新しいバイナリファイルが生成される。これだけならまだいいのだがコンパイルするたびに異なるバイナリファイルが生成される。つまり、2つのバイナリファイルが機能的に同一かそれとも何か変更されているかの区別が付かない。これが第一の問題。
もう一つ、よくある構成で
“`Console
\—Proj
+—Common
| CommonModule.bas
|
+—PreExe
| PreExe.vbp ←CommonModule.bas参照している
|
+—MainExe
| MainExe.vbp ←CommonModule.bas参照している
|
\—PostExe
PostExe.v
スライス
#’:’
‘:’を用いいてスライス(slice)表記が可能である。aを配列とするとa[i:j:k]は、第i番目の要素からj-1番目の要素まで、k-1飛ばしの部分配列という意味になる。i,j,kは省略可能で、iの既定値は0,jの既定値はnp.alen(a)つまりaの0軸に沿った長さ、kの既定値は1である。
【pyxel】「failed to initialize SDL Audio in ‘Audio’」の解決法
pyxelをインストールし、とりあえずサンプルプログラムを実行……しようと思ったら
“`
pyxel error: failed to initialize SDL Audio in ‘Audio’
“`
というpyxel errorが発生しました。無事解決できたので、同じエラーで困っている人のために解決法を書いておきます。#解決法
デスクトップPCにイヤホンを刺したら解決しました。音声出力デバイスが1つも無いせいで上記のエラーが発生していたようです。僕のデスクトップPCにはスピーカーが接続されておらず、音楽を聞く時だけイヤホンを刺す使い方をしていたので、このエラーが出たときには音声出力デバイスがなにも接続されておらず……。
例えBGMを聞かない場合でも、pyxelで作ったゲームを起動するときには音声出力デバイスがつながっている必要があるみたいです。
Automatorでシェルスクリプトまとめ【更新版】
###Pythonをターミナルから実行できるが、Automatorで正常に実行できない
参考サイト:https://teratail.com/questions/279608
“`エラー文:エラー文
アクション“シェルスクリプトを実行”でエラーが起きました: “Traceback (most recent call last):
File “goods.py”, line 4, in
import chromedriver_binary
ModuleNotFoundError: No module named ‘chromedriver_binary’”
“`実行している環境が違う為エラーが表示される
“`/bin/zsh:/bin/zsh
which python3 ? ここでpython3の場所を特定
>> /usr/local/bin/python3 ? 結果をpython3のところに置き換える
“`“`Automator:Aotomator
/usr/local/bin/python3 helloworld.py
“`
raspberryPiとjulius(音声認識)を使用する。①マイク編
#関連記事
[raspberryPiとjulus(音声認識)を使用する。①マイク編](https://qiita.com/chiapis2/items/347a9b422706c2d8ebe2)
[raspberryPiでjulius(音声認識)を使用する。②インストール編](https://qiita.com/chiapis2/items/7ec1b0b21ee4fef4e8f0)
[raspberryPiとJulius(音声認識)を使用する。③辞書作成編](https://qiita.com/chiapis2/items/f0bd2ccb0f04d18d8a98)
[raspberryPiとJulius(音声認識)を使用する。④Lチカ編](https://qiita.com/chiapis2/items/a2ed64414c9e49b6cb42)
[raspberryPiとJulius(音声認識)を使用する。⑤i2cキャラクタディスプレイ編](https://qiita.com/chiapis2/items/8e02bb591fb7a02274aa)使用するもの
AWS EC2のUbuntuでPython開発(JupyterLabの使用)
# 概要
自分の研究でEC2を使う機会があったので,その時にしたことをメモ書きとして残しておきます.これからEC2でPython開発を行う人の助けになればと思います.
実行環境はMac Catalinaです.
## Step.1 インスタンスの作成
自分は無料利用枠で使用できるubuntu 18.04 LSTを使用しました.
nvidiaが提供してるイメージがありますが,そっちで試してうまくいかなかったので,1から作りました.![スクリーンショット 2020-10-06 15.52.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/497731/48389f04-7404-bb64-6f37-7fbc6220add9.png)
インスタンスタイプは無料枠でいいです.環境構築の間に高い使用料を払うことはないです.あとで重い負荷の計算がしたくなったら,その時に変更してください.
他の設定は特にしていないので,「確認と作成」って進んじゃってOKです.
pemファイルの作成などは別途調べてく
暗号化データをPythonとC#間でやりとりする
# 暗号化データをPythonとC#間でやりとりする
## はじめに
公開鍵暗号、**浪漫**ですよね(個人の感想)。個人開発のソフトに組み込んだりとか、実用性は別にして愉快なことができそうです。
しかしながら、ざっくりググって見る限り、~~自分みたいなスクリプトキディが嬉々としてコピペしたくなる~~シンプル側に極振りした実装がひとところに纏まっているというのが見当たらなかったため、練習のために作ってみました。
5%位は実用性を考慮しても良いだろうと思ったので、PythonとC#の2つでシンプルに書いてみて、2者間で暗号データをやりとりしてみます。コレができれば、例えばクライアント側(C#)で暗号化したデータを、サーバ側(Python)で復号、とかができるので、ほんの少しですが実用に与することができます。
**もっと実用に良い手段があるとか言わない。**
### 想定する状況
1. サーバ側(Python)でRSAのキーを作成
1. クライアント側(C#)は作られた公開鍵を得ており、これでテキストファイルを暗号化する
1. サーバ側に送られた(ことに
【SIGNATE】「民泊サービスの宿泊価格予測」にchallenge
#はじめに
コロナの影響もあり在宅時間が増えたため、今年4月から機械学習に本腰を入れて取り組み始めました。その過程でKaggleやSIGNATEのコンペに取り組む機会が多かったため、一つのアウトプットとしてQiitaに記事を書くことにしました。今回取り組むのはSIGNATEの練習問題「[民泊サービスの宿泊価格予測](https://signate.jp/competitions/266)」です。さらに深い分析・洞察を得るためのベンチマークを作ることを目的とします。
今回作成したコードは[こちら](https://github.com/bayesian0216/qiita/blob/main/minpaku-qiita.ipynb)にJupyterNotebook形式で残しています。#1、課題の把握
本課題では民泊サービスであるAirbnbの掲載物件データを使って、物件ごとの妥当な宿泊価格を予測するモデルの構築に取り組みます。#2、EDA(探索的データ分析)
必要なライブラリをインポートし、学習データ・検証データ・提出用データをそれぞれ読み込みます。“`
# ライブラリのイ
Python: pydub の使い方 (再生)
pydub で再生をする方法です。
“`py:play.py
#! /usr/bin/python
#
# play.py
#
# Oct/06/2020
#
# ——————————————————————
import sys
from pydub import AudioSegment
from pydub.playback import play# ——————————————————————
sys.stderr.write(“*** 開始 ***\n”)
#
file_in = sys.argv[1]audio_aa = AudioSegment.from_wav(file_in)
play(audio_aa)
#
sys.stderr.write(“*** 終了 ***\n”)
# ————————————————
Python: pydub の使い方
オーディオファイルを編集する方法です。
入力ファイル
![input.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/9587782d-fc2d-847a-4f6f-628563aeae7c.png)出力ファイル
![out.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/1ff36c55-3c05-5ac0-c177-c5a23c56be37.png)変換プログラム
入力ファイルから 3sec から 7sec までを切り出します。“`py:edit.py
#! /usr/bin/python
#
# edit.py
#
# Oct/06/2020
#
# ——————————————————————
import sys
from pydub import AudioSegment
【PyQt × pySerial】PCに接続されたCOMポート一覧をコンボボックスに表示
# 始めに
![combobox.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/404447/0ec226aa-17b7-67f7-5452-8edee23c05e1.png)
このような感じで、PCに接続されたCOMポートを選択できるようなコンボボックスを[PyQt](https://ja.wikipedia.org/wiki/PyQt)で作成します。
PyQt, Qt Designerを使ったGUIアプリの作成方法は[こちら](https://qiita.com/grinpeaceman/items/54b439bfa52640c444e1)を参照。# 環境
+ Windows 10
+ Python 3.8.5
+ PyQt 5.15.1
+ pyserial 3.4# インストール
“`
$ pip install pyqt5
$ pip install pyserial
“`# ①UIファイルの作成
[Qt Designer](https://doc.qt.io/qt-5
VScode上でubuntuを操作する(windows10)
python3(django)の開発環境構築時にubuntuを使用したが、
コーディングする際に使うVScode上でコマンド打てないか調べたところあったの備忘録#事前準備
VScodeがダウンロードされていること
ubuntuがダウンロードされていて、ユーザ名とパスワード設定が終わっていること# VScodeとubuntuの連携
VScodeの左下の設定(歯車)⇒設定[shell]と検索すると以下の文章が中段辺りにある
`Terminal › Integrated › Shell Args: Windows`その下にある以下をクリック
`settings.jsonで編集`settings.jsonが開かれるので{}内にbash.exeのパスを追加で完了
“`json:settings.json
{
“editor.formatOnPaste”: true,
“editor.suggestSelection”: “first”,
“vsintellicode.modify.editor.suggestSelection”: “automa
【複数のグラフを描画とラベル】plotlyで動的な可視化をする【python3,make subplot, xlabel, ylabel】
python==3.8
plotly==4.10.0plotlyの設定てきなもので
よく使うものを追加していくつもり#図面を割り振る(subplot)
“`python
from plotly.subplots import make_subplots
import plotly.graph_objects as gofig = make_subplots(rows=1, cols=2)
fig.add_trace(go.Scatter(y=[4, 2, 1], mode=”lines”), row=1, col=1)
fig.add_trace(go.Bar(y=[2, 1, 3]), row=1, col=2)
fig.show()
“`![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/275572/5358faf4-80ce-ec01-c2bd-99fc9456bebe.png)
#背景色
“`python
from plotly.subpl
正規表現確認クイズ!
# 初めに
おっはよ〜!
途中の村の自白もなく、すっごい静かな進行をしてる部屋があったの。そこで、独裁者で最後まで噛まれなかったのに、自分以外の村が全滅して2狼いて黒の勝ち確だよって赤ちゃ3人から言われたときの寂しさったらね!!泣まだ駆け出しのジェシーだけど、練習問題にいいんじゃない?って思って、正規表現のクイズを作ったよ!
私が「え?なんで??」って、混乱したものを題材にしてるよ〜!# 正規表現って?
正規表現が何か知らない人は、まずは次のサイトで勉強してからがいいよ!
実際に使うときは(Pythonなら)モジュールの `re`を使ったりするんだけど、その辺は割愛して、誰でも考えられるクイズになってるよ!ぜひといてみてね!– 正規表現のまとめ : https://uxmilk.jp/41416
– もっと詳しく : https://qiita.com/grrrr/items/7c8811b5cf37d700adc4# 問題
Blender 2.9, Python 背景光 色テスト
blender, python, 背景光の色、RGB16進指定でのテストです。背景光、と、3箇所スポットライトで立方体を照らしてます。
色の例としては、 aquamarine #7fffd4, papayawhip #ffefd5 powderblue #b0e0e6 darkkhaki #bdb76b
あたりが使えそうかなと言う印象。今日はカメラ移動は無しで動画なしの静止画だけです。
![bpy_bkg_col_m.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/690216/1d79aecf-f903-8bde-8359-5a1728a277f2.png)3点画像あるうち上のが背景光0.1倍、2枚目0.9倍、3枚目0.5倍の指定です。
“`
import bpy# ========= DELETE ALL mesh, light, camera =========
for item in bpy.data.objects:
bpy.data.objects.remove(ite