nyanpyou Note

主な目的は調べたり作ったりしたプログラミング備忘録(予定)

2020-01-01から1年間の記事一覧

Pythonで送信したメールの添付ファイルが正しく見えない件について

以前書いたPythonを用いたメール送信方法を一斉送信を行う際に利用していたが、問題が発覚したのでその内容と解決方法についてメモ。 症状 原因 修正 教訓 余談 症状 Pythonで添付ファイル付きのメールを送り、そのメールをWindows10メールで受け取ると添付…

大量のPDFに対して一斉にパスワード付与と解除をしたい話

実に2か月ぶりの更新。 やりたいこと Google大先生に聞いてみる QPDF やりたいこと 大量のPDFファイル全てにパスワードを付与したい。また、それの解除もしたい。そしてこの機能を組み込みたいプログラムがPythonで作成中の物なので、できればPythonから動か…

音声認識を利用したい話

なんでいきなり音声認識か 唐突だが巷で流行りのVtuberというものが最近お気に入りで、自分は特に宝鐘マリンの配信をよく見ている。公式的には17歳なのだが、明らかに17歳ではない(アラサー的な)話題を連発するマシンガントークが面白い。 www.youtube.com …

下書きのまま忘れられていたメモ書き

メモ代わりに書きつけたまま公開せずに放置されていたことに気づいたので放り投げます← 最近作りたいものを思いつき、そのためにまた新しいことを学ぼうとしているところなので、それについてまとめるかもしれない。 以下供養のメモ書き format()関数を使っ…

Pythonで論文の情報をスクレイピングする

きっかけ 論文投稿雑誌の一部にはVideo Abstractなるものを一緒に乗せることが可能らしい。 初めて聞いたものなので、一体どんなものなのか他の人達の投稿を確認しようと思ったが、どうやら目次を見てもその論文にVideo Abstractが載っているのかの記載は無…

Windowsのコマンドプロンプトで遊ぶ

コマンドプロンプトで船長を動かすやつ。 以下の記事をたまたま見たことがきっかけで自分でもやってみようと思って作った。 そういう衝動性って大事。 dev.classmethod.jp #python3.8.1 import subprocess import cv2 import numpy as np def preview_by_con…

Pythonでメール(.eml)を読み込む

前置き 前回はPythonでメールの送信をする方法についてまとめたが、今回は電子メールを読み込む方法についての話。 ただし、こちらについても前回同様、公式ドキュメントを読んでも理解しきれないところが多々あった。わかる範囲でのメモ書きとする。 前置き…

Pythonでメールを送信する

例のウイルスにより諸々の対応に追われてしばらく何も書けていなかったが、その間に学んだことを忘れないように書いておく。 今回はPythonを使ったメール送信について。 テキストのみの送信(一番シンプルな例) 添付ファイル付きの送信 参考元 テキストのみの…

OpenCVとNumpyで比較明合成をしたい話2

以前OpenCVとNumpyで比較明合成を行うという話を書いた。 nyanpyou.hatenablog.com この時は配列の要素に二重のfor文でアクセスする形になっていたため処理が遅く、その部分が課題だった。今回処理速度が改善できたので改めて書き残す。 今回は以下の単純な…

学びのメモ2

eval()関数を使うと、文字列をPythonコードとして評価できる。これを使うと実行したいメソッドを文字列の結合から作ることが出来る。オブジェクトは同じだけど、メソッド部分だけどんどん入れ替えたい場合などに使える。 #例 class Test: def printOK(self):…

Raspberry Piに共有フォルダを作成する

Raspberry Piをリモートで使用していると、ファイルを即座にクライアント側とやり取りしたい場面が稀によくある。VNCViewerでも転送はできるのだが、いちいちダイアログを呼び出してファイルを選んで~という手順を踏むのは煩雑なため、共有フォルダを作るこ…

OpenCVで静止画を連続撮影した時に起こる「コマ落ち」について

例えば以下のように、Raspberry PiとRaspberry Pi Camera Moduleを用いて、0.2秒の露出時間で5秒に1回カメラの取り込みを更新する(つまり途切れずに光を取り込み続ける)ように設定し、連続で画像の保存をしたいとする。 from imutils.video import VideoStre…

モニター接続なしのRaspberry PiにVNC接続してデスクトップ環境を使う方法

以前Raspberry PiにVNC接続してリモートで操作できるようにセッティングしたが、Raspberry Piにモニターを接続せずに起動すると、VNC接続した時に真っ黒な画面で「Cannot currently show the desktop」と表示されることが発覚した。 これを回避する方法を書…

学びのメモ:リストのソートとlambda式

リストの要素をソートしたい時は、組み込み関数のsort()もしくはsorted()を使うと良い。sort()は元のリストをそのまま並び替え、sorted()は元のリストのコピーを並び替える。 これらの関数にはKeyパラメータが存在し、比較を行う前にリストの各要素に対して…

Raspberry Pi Camera Moduleの扱い方

以前Raspberry Pi Camera Moduleを使いたいがいまいち方法がわからず困ったという内容の投稿をしたが、その後進展があったため以下に記す。 Raspberry Pi Camera Moduleを動かすために、PiCameraというライブラリが用意されている。PiCameraライブラリのアク…

学びのメモ

今まで調べたり断片的に学んできた知識を整理することも兼ねて、OpenCVやPythonの参考書を改めて1から読んでいる。 その中で覚えた事、よく忘れることなどをメモ書きとして無秩序に書き連ねる。 #osの区切り文字を取得する import os a = os.path.sep import…

OpenCVとNumpyで比較明合成をしたい話

低速度シャッター(といっても0.2秒くらい)で撮影をしていると、映したいものが2枚の写真に跨ってしまうことが稀によくある。 そこで、パソコンを使って合成を行い、視認性の良い写真を作りたくなった。何か良い合成方法はないかと調べてみると、この比較明合…

WindowsUpdateに刺されたが死なずに済んだ話

朝起きたら家のPCがブルースクリーンを吐いてクラッシュしていた。 数年前に職場のPCで同じような状態に陥り、復活させようとした結果致命傷を与え、初期化を余儀なくしてしまった過去があるため、また同じことになるかと思ったが、今回は回避することが出来…

Corel VideoStudio Pro X8で動画を一時停止して音声を付ける方法

Corel VideoStudio Pro X8を使って動画を作成する機会があったのだが、その際に調べたことをメモしておく。 まずこのソフトには、どうやら動画を一時停止しておく機能がないらしい。そのため、動画のある部分で一時停止させ、その場面を表示し続けながら音声…

Raspberry Pi 4でRaspberry Pi Camera Module v2を動かしたいが難航している話

2020/02/25追記: 進展しました。 nyanpyou.hatenablog.com Raspberry Pi 4とPythonとOpenCVを使って、Raspberry Pi Camera Module v2を動かし、30fpsの動画を1分毎に連番で撮影したいのだが、思った通りに撮影ができずに沼にハマっている。 解像度をコード…

動画ファイルを静止画に分解する

OpenCVを使うことで、動画ファイルを簡単に静止画に分解することが出来る。 動画を1フレームずつjpg画像として保存し、連番で出力する。 #Python3.7.4 #opencv3.4.2 import cv2 #動画ファイルを開く cap = cv2.VideoCapture('output.avi') i = 1 while(cap.i…

Raspberry Pi 4をWindowsからリモート接続する

以下記事を参考にWindows10機からRaspberry Pi 4にリモート接続できるようにした。 qiita.com しかししばらく使ってみると絶妙に動作が重い。マウスが引っかかる感じ。 どうもWindowsに入っているリモートデスクトップ接続を使うともっさりするらしいので、…

Raspberry Pi 4でGoogleドライブを使いたい話

Raspberry Pi 4でGoogleドライブが使えるようにしたかったが、ちょっと難航したという話。 まず参考にしたのは以下のサイト qiita.com binディレクトリを作成し、githubからgdriveをダウンロードした。 その後、 chmod +x gdrive で実行権限を付与し、初期設…

Raspberry PiへのOpenCVの導入

Raspberry Pi 4へのOpenCVの導入を行った。 参考にした記事は以下。 www.pyimagesearch.com 記事内に $ sudo apt-get install libhdf5-dev libhdf5-serial-dev libhdf5-100 を入れろという箇所があるが、実行するとlibhdf5-103にしなさいという警告が出たた…

OpenCVとUSBカメラで動画撮影

OpenCVとUSBカメラを使って動画を撮影する。 用意するUSBカメラはその辺で3000円くらいで売っているもので充分。 動画撮影に使うコードはこんな感じで作った。 #video_record.py import numpy as np import cv2 windowname = "Camera View" camera_number = …

後で読みたい&読んだ記事

色々ネットで調べていると、「あ、これ面白そう。」と感じるページにしばしば出会う。 しかし、大抵は時間の問題ですぐに読めないので、放置されることになって忘れてしまう。これでは勿体ない。 しかしブログを始めてみて気付いた。これほど便利にリンクが…

OpenCVの導入について

前回はPythonの導入について書いたが、今回は自分がPythonを使うことになった理由の1つである、OpenCVなるものの導入方法を書こうと思う。 前半部分は、Pythonの時と同様に余談なので、本題部分には目次からGO。 2020/1/23追記 この方法でOpenCVをインストー…

関数へリストを渡して中身を書き換えたいときの注意

関数外部で定義したリストを関数に渡し、関数の中からリストの中身を書き換えたかったが、思うような結果にならず1時間半くらい悩むことになった。 解決のために参考にしたページをメモとして残す。 qiita.com ポイントは、「リストのidが同じならば同じもの…

Pythonの導入について

1年半前くらいから仕事で触るようになったPythonについて、まずは導入方法から書いていこうと思う。 前半部分は、導入方法に関係のない情報をたらたらと書いているため、該当触れている部分には目次から飛ぶとストレスフリー。 まずPythonって何? 導入方法 …

Markdown記法の使い方

記事を書くにあたって、書き方を知らない事にはどうにもならないということで、Markdown記法の使い方の記事を探した。 Google検索で一番上に出てきた記事だが、必要なものを簡潔にまとめてくれていて非常に参考になりそうだったため、 忘れないようにメモ代…