物理の駅 Physics station by 現役研究者

テクノロジーは共有されてこそ栄える

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

Pythonで動画ファイル (形式.mp4)から画像を切り出す

note.nkmk.me OpenCVを使うとすぐに実装できる。ほぼ上記URLのサンプル通り。 import cv2 import os def save_all_frames(video_path, ext='jpg'): if not os.path.exists(video_path): return cap = cv2.VideoCapture(video_path) if not cap.isOpened(): r…

Surface Book 3がゴミになった件

Surface Book 3はゴミなので絶対に買うなという話 https://answers.microsoft.com/ja-jp/surface/forum/all/surfacebook3%e3%81%ae%e4%b8%8d%e5%85%b7%e5%90%88/7a057523-071d-45d2-8d85-66e5c259efd9answers.microsoft.com

ウェブ上にあるPDFファイルをダウンロードする方法

import urllib.request url = "https://test.test/test.pdf" filename = "test.pdf" urllib.request.urlretrieve(url, filename)

Python+matplotlibで2次元ヒストグラムをモルワイデ図法で描画する方法

stackoverflow.com を参考にした。 2Dヒストグラムのbinデータを自力で用意し、pcolormesh で描画する。その方法は pythonのmatplotlibで2次元ヒストグラム(hist2d)のビンの値を直接操作する - 物理の駅 Physics station by 現役研究者 で解説している。 モ…

Python+matplotlib の plt.quiver で矢印を描画する

矢印を描画 matplotlib.pyplot.quiver matplotlib.pyplot.arrowではなくmatplotlib.pyplot.quiverを使う。 矢印の始点(px, py)、矢印のベクトル(vx, vy)をquiverに与えればよいが、科学目的の場合デフォルトの引数だとやや問題が起きがちなので一つ一つ説明…

漫画のEPUBファイルから画像をPythonで取得する方法

pypi.org が便利だった。 pip install EbookLib でインストール カバーebooklib.ITEM_COVERと、画像ebooklib.ITEM_IMAGEをそれぞれ開き、バイナリ形式で出力する。 import ebooklib from ebooklib import epub import os book = epub.read_epub('filename.ep…

LINEとSlackの暗号化の話 LINEは本当に危険か?

LINEは危険という話をよく聞く。本当なのか。コミュニケーションツール Slack と比べてどうか。 Slackはすべてのデータをサーバー側と経路で暗号化しているため、仮にSlackが不正侵入されたり、通信経路で盗聴されても平文(暗号化前の元の文やデータ)が漏…

ミスミで規格外の金属部品を3DCADデータから作れるサービス meviyを使ってみる

これまで、ミスミで売っていないような金属部品は、3D CADで作成→2D 図面に落とす→見積り依頼→不明点の解消→発注→製作→納品 という流れで制作していた。3Dから2Dに落とすところに相当な時間がかかることが問題だった。 ミスミのmeviy オンデマンド製造サービ…

Tex revtex4-2.clsの入手方法

https://ctan.org/tex-archive/macros/latex/contrib/revtex からZIPをダウンロードする。Google Chromeだと警告が出るので、無理やりダウンロードする。 展開すると以下のファイルが見える revtex\aip revtex\aps revtex\auguide revtex\sample revtex\aip4…

C++ OpenCVでalphaチャンネルなし画像からalphaチャンネルを作る

入力画像は、アルファチャンネルあり、なしBGR、グレースケールの3種類に対応した。 アルファチャンネルは8bitの4チャンネルの4つ目で、0-255で与える。0の場合は完全に透過する。 今回は、BGRの輝度値が真っ白付近(245-255)を透過する条件とした。 変換前(…

メールアドレスの誤記について

イベント参加者を募集するときにメールアドレスを収集する機会があった。その時の経験則として、5%の人がメールアドレスの誤記をしてくることが分かった。さらに、多くの場合は明確な誤記なのでこちらで修正が可能であるが、一部は氏名が分からないと修正し…

高付加状態でEISTを無効にすると処理が速くなる

ことがあるらしい。 EIST(Enhanced Intel SpeedStep Technology)

Ubuntu 18.04 LTS で再起動後にNVIDIA driverに接続できなくなる問題の解決法

$ nvidia-smi Wed Nov 18 16:42:39 2020 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 440.33.01 Driver Version: 440.33.01 CUDA Version: 10.2 | 以下略 と表示されていたが、再起動後 $ nvidia-smi NV…

C++ Eigenを使った正規分布のフィッティング手法

過去に、ROOTとPythonで正規分布のフィッティングをした。 phst.hateblo.jp だが、ROOTはWindowsでx64と共存しないので、x64と共存するライブラリだけを使ったフィッティングを試みた。まずは、 ガウス分布のフィッティング用のサンプルデータ Sample data …

Windowsでマウスの動きがガクガクになったときは、ポインターオプションからポインターの精度を高める

Windowsでマウスの動きがガクガクになったときは、ポインターオプションからポインターの精度を高めるにチェックを入れてみよう。 Logicoolのソフトを入れると、この「ポインターの精度を高める」のチェックが外れてしまったらしい。fucking.

なぜSlackだったのか

Slackである必要性はなかった。 安定したサーバー・接続が容易 モダンなデザインかつマルチプラットフォームなクライアント 中央集権的(場所の管理権限有)であり分権的(部屋を追加したり人を呼べたり)である 通知の自己管理 部屋を分けれる 他のサービスとの…

TexLive2020のインストールメモ

Windowsでは、メジャーバージョン(例:2019→2020等)のアップデートに対応してないので、新規インストールする必要がある。念の為、過去のバージョンはバックアップを取っておこう。 ISOをダウンロードした。texlive2020-20200406.iso。マウントして、install-…

Android11のマナーモードの設定

この記事は問題提起なので、解決はできていません。 Android9かAndroid10では 通知の鳴動制限 というのがあり、 サイレント (いかなる通知でも鳴動されない) アラームのみ (アラームの割り込み鳴動が許可) 重要な通知のみ (アラームと設定した重要な通知のみ…

7zip with Zstandard (Zstd)をインストールする

github.com facebookのメンバーが作った高速な圧縮・展開が可能なZstandard (Zstd) が使える、7zipのあるバージョン

Windows用 画像閲覧ソフトウェア IrfanView のインストール

インストール forest.watch.impress.co.jp IrfanView(64bit版) IrfanView日本語化モジュール をインストールする。 日本語化 Option -> Properties/Settings -> Language -> JAPANESE.DLL を選択してOK 画像循環時の設定 画像が循環したときに、フォルダ選…

PsExecを使うためのリモート側(アクセスされる側)の設定

ネットワークの種類はプライベートにする Firewallで以下を有効にする 135/tcp(RPCエンドポイント・マッパー) 445/tcp(ダイレクト・ホスティングSMB) 1025~65535/tcp(RPC動的ポート) コマンドなら管理者権限にて netsh advfirewall firewall add rule…

Windows: 自分のパソコンが拡張命令 (AVX-512等)に対応しているか確認する方法

マイクロソフトが提供しているフリーソフトで確認できます。次のプログラム Coreinfo v3.53 をダウンロード、展開して、Coreinfo.exe をコマンドプロンプトで実行しましょう。 docs.microsoft.com 実行例 (一部略)。 * はサポートしている、 -は未サポート。…

ThreadPoolの引数を取得する方法と、処理順序を制御できるcondition_variableの使い方

CPUは複数あるので並列化できるが、出力は並列にする意味がない。また、CPUを使った処理は順不同で良いが、出力は順に行いたい。こういう目的のためには、ThreadPoolと、std::condition_variableを使う。 以下の例では、友人が作ってくれた ThreadPool を使…

なぜパスワードで暗号化したファイルをメールで送ってはいけないのか

セキュリティの基本は「人は愚かである」という前提に立つことである。しかし、我が国のセキュリティ意識は多くは「頑張ればなんとかなる」精神に立っており、しばしば誤った頑張り方が重大なインシデントを招く。その一つが、 個人情報や機密情報を送ろうと…

知り合いのブログ一覧

学生たちの salt22g.hatenablog.jp phbe.hateblo.jp monster-k.hatenablog.jp 友人の kenkyu-note.hatenablog.com

OpenCVのPNG形式でエンコードする時の各パラメータの圧縮率と圧縮時間について

OpenCVで画像をPNGファイル、すなわち可逆な形式で圧縮し、ファイルで出力することなくデータを取得したいとき、 cv::imencode というエンコード関数を使う。原理的には以下のように記述する。(そのままでは動かないよ) vector<int> params = vector<int>(2); params[0</int></int>…

同軸ケーブル 1.5C-2VとRG-58A/Uの仕様について

1.5C-2V(ミスミでは1.5D-QEVとも)とRG-58A/U (ミスミではRG58AU表記) の違い 項目 1.5C-2V RG-58A/U 特性インピーダンス[Ω] 75 50 内部導体構成 1本/0.26mmT 19本/0.180mmT 静電容量 [nF/km] 100 102 絶縁体外径 [mm] 1.6 2.9 外部導体外径 [mm] 2.2 3.6 外…

VSCodeのmarkdownで既出英単語のヒントを自動表示させる方法

"[markdown]": { "editor.quickSuggestions": true, "editor.wordBasedSuggestions": true, }

PocoとOpenCV: 共有メモリを使ってプロセス間で画像を送受信する

PocoとOpenCVによる画像の共有メモリ経由での書き込み・読み出しの実装例 画像を共有メモリから読み出す OpenCVには、画像の先頭のポインタ sm.begin() を与えると自動的に画像として読んでくれるコンストラクタがあるので、それを利用した。 書き込む方と同…

Windows Serverでパスワードの要件を解除する

Windows Server 2019では、パスワードの要件がより厳しいものになっており、大文字、小文字、数字、記号のうち3種類が要求される。 ただし、この要件は解除することができる。 ローカルセキュリティポリシー→アカウントポリシー→パスワードのポリシー→複雑さ…