まず動画の部分をクリックします。
メニューに「再生」タブが表われます。
「開始」をチェックして、「自動(A)」「再生が終了したら巻き戻す」にします。
これで、そのページの表示と同時に、動画が動き始めます(開始クリックの手間が省けます)。
時々上手く動かない時がありますが、その場合が動画部分をクリックすれば動き出すようです。
江端智一のホームページ
まず動画の部分をクリックします。
メニューに「再生」タブが表われます。
「開始」をチェックして、「自動(A)」「再生が終了したら巻き戻す」にします。
これで、そのページの表示と同時に、動画が動き始めます(開始クリックの手間が省けます)。
時々上手く動かない時がありますが、その場合が動画部分をクリックすれば動き出すようです。
映像テストの実験用に使っているのですが、Mozcの日本語-直接入力がサクサクできず、ちょっとした検索もできず、困っておりました。
手当たり次第、探した結果、(私の場合は)このキーに割り当たっていたようでした。
ちゃんと設定すべきところ、それすら面倒くさくて ―― 私は、これで十分です。
ましてや、SKKを入れる気力は、絶無です。
enx207bd2222d29 とか、enxb827ebde37fc とか、なんじゃらほい? と思われるかもしれませんが、これ、eth0 とかeth1と同じものと思って頂ければ結構です(正直、これで、ちょっとごたごたしましたが、今回、"そういうものだ"と思って貰えればO.K.です) 。https://wp.kobore.net/%e6%b1%9f%e7%ab%af%e3%81%95%e3%82%93%e3%81%ae%e6%8a%80%e8%a1%93%e3%83%a1%e3%83%a2/post-10990/
package main
import (
"fmt"
"math"
)
func main() {
// 行列のデータ
matrix := [][]float64{
{2.5, 3.7, 4.8, 1.2},
{1.0, 2.0, 3.0, 4.0},
{0.5, 1.5, 2.5, 3.5},
}
numRows := len(matrix)
numCols := len(matrix[0])
// 各列の平均を計算
averages := make([]float64, numCols)
for j := 0; j < numCols; j++ {
sum := 0.0
for i := 0; i < numRows; i++ {
sum += matrix[i][j]
}
averages[j] = sum / float64(numRows)
}
// 各列の各データと平均の差の二乗和を計算
sumOfSquaredDiffs := make([]float64, numCols)
for j := 0; j < numCols; j++ {
for i := 0; i < numRows; i++ {
diff := matrix[i][j] - averages[j]
sumOfSquaredDiffs[j] += diff * diff
}
}
// 各列の分散を計算
variances := make([]float64, numCols)
for j := 0; j < numCols; j++ {
variances[j] = sumOfSquaredDiffs[j] / float64(numRows)
}
// 各列の標準偏差を計算
stdDevs := make([]float64, numCols)
for j := 0; j < numCols; j++ {
stdDevs[j] = math.Sqrt(variances[j])
}
// 行列の各要素を標準偏差で正規化
normalizedMatrix := make([][]float64, numRows)
for i := 0; i < numRows; i++ {
normalizedMatrix[i] = make([]float64, numCols)
for j := 0; j < numCols; j++ {
normalizedMatrix[i][j] = (matrix[i][j] - averages[j]) / stdDevs[j]
}
}
// 正規化された行列を表示
fmt.Println("正規化された行列:")
for i := 0; i < numRows; i++ {
fmt.Println(normalizedMatrix[i])
}
}
ラズパイ4は、(○arm64 ×amd64)を採用しており、色々とトラブルとなっています。これも、その一つかどうか不明ですが、Chromeのインストールに失敗しています。
で、まあ、以下のことをごちゃごちゃしているうちに動きましたので、メモを残しておきます。
$ sudo snap refresh
$sudo snap install chromium
( $ sudo apt install -y chromium-browser は、失敗しました)
で、起動は、
$ chromium (× $ chromium-browser)
でした。
以上
私が購入したときは、15K円くらいだったのですが、今、倍になっています。ラズパイって高価になっているんですね ―― それはさておき。
Raspberry Pi 4Bは、USB3対応のようですが、どちらのポートか分かりません。この写真を見ると右側のようです。
(出典 https://misoji-engineer.com/archives/raspberrypi-usb3.html)
まずは、ドライバのありかを探してみました。
あきらかに、これが当たりのように見えます。
ラズパイP4の石は、ARMのようです。
https://qiita.com/memakura/items/a77137856f91d6c4db43
何がどうなっているのかは分からないけど、
https://blog.csdn.net/weixin_42088912/article/details/118225949
を参考にして、/etc/udev/rule.d/40-flir-spinnaker.rules の
SUBSYSTEM=="usb", ATTRS{idVendor}=="1e10", GROUP="flirimaging"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1724", GROUP="flirimaging"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1e10", GROUP="flirimaging"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1724", GROUP="flirimaging"
を
SUBSYSTEM=="usb", ATTRS{idVendor}=="1e10",ATTRS{idProduct}=="4000", MODE="0777", GROUP="flirimaging"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1724", GROUP="flirimaging"
としたら、やっと"USB interface0"が出てきた
けど、映像が表示されないし、「SpinView_QTの応答がありません」、とか言われる。
sudo dmesg をやると
[ 533.947639] usb 2-1: Product: Blackfly S BFS-U3-89S6C
[ 533.947652] usb 2-1: Manufacturer: FLIR
[ 533.947663] usb 2-1: SerialNumber: 0126934F
[ 600.668167] usb 2-1: reset SuperSpeed USB device number 4 using xhci_hcd
[ 709.333799] xhci_hcd 0000:01:00.0: swiotlb buffer is full (sz: 16384 bytes), total 32768 (slots), used 32687 (slots)
のようなメッセージがでてくので、
https://zenn.dev/yonishi/scraps/e735a6ef11d8b5
を参考に対応。 改善なし。
https://wpitchoune.net/tricks/raspberry_pi3_increase_swap_size.html
の対応を実施
表示に成功! 詳しくは明日 ―― つかれはてました。
で、勉強させて頂いております。
私、今、超スケーラブルな高速の遺伝的アルゴリズムをGo言語で実装しようとしているのですが、計算ライブラリの充実度はPythonが圧倒しているからです。
# 私が、Go言語で計算ライブラリを自作する、というのは、却下です(面倒くさい)
まあ、これは、元を辿ると"ChatGPTの責任"とも言えるのですが(押しつけ)
取り敢えず、参照させて頂いたページのコードを、自分の環境に合わせて(といっても、結構苦労した"Python3.h"の場所が分からなかった)、ここまで動きました。
/*
環境
wsl -d Ubuntu-20.04
実行結果
ebata@DESKTOP-P6KREM0:/mnt/c/Users/ebata/go-efa$ go run main1.go
Hello, World! and Ebata is great
*/
package main
// #cgo CFLAGS: -I/usr/include/python3.9
// #cgo LDFLAGS: -L/usr/lib/pytho3.9 -lpython3.9
// #include
import "C"
// import "C"のうえに改行いれるとエラーになる(信じられないが)
func main() {
// 最後にPythonインタプリタ終了
defer C.Py_Finalize()
// Pythonインタプリタの初期化
C.Py_Initialize()
// GoのstringをCのcharに型変換(変換しないとPyRun_SimpleStringに型合ってないよって怒られる)
// cannot use "print(\"Hello, World!\")" (type string) as type *_Ctype_char in argument to _Cfunc_PyRun_SimpleString
pyCodeStr := `print("Hello, World! and Ebata is great!")`
pyCodeChar := C.CString(pyCodeStr)
// Pythonコードを文字列として受け取ってインタプリタ上で実行
C.PyRun_SimpleString(pyCodeChar)
}
ようするに、このプログラムは、Go言語を使って、Pythonのインタプリタに一行づつコマンドを打ち込むプログラムのようです。
pythonのライブラリを使えるという訳でないようです。
GoとPythonをマージする方法は、どうも調子がよくないようです。
GoとPythonとGrumpyの速度ベンチマーク ~Googleのトランスパイラはどれくらい速い?~
These steps describe using an Ubuntu desktop environment to install Ubuntu and the Spinnaker Python interface on a Raspberry Pi 3 B+. Commands to be run on the desktop are prefaced with (desktop)$
, and commands to be run on the Raspberry Pi are prefaced with (pi)$
この手順では、Ubuntuデスクトップ環境を使用して、Raspberry Pi 3 B+にUbuntuとSpinnaker Pythonインターフェースをインストールする方法を説明します。デスクトップ上で実行するコマンドの前には(desktop)$を、Raspberry Pi上で実行するコマンドの前には(pi)$を付けます。
Flash the latest Ubuntu image (at the time of writing: 18.04) to an SD card and perform first-time setup by following these instructions. You will need an HDMI cable, a monitor, and a keyboard. The Raspberry Pi must also be connected to your local network via Ethernet.
最新のUbuntuイメージ(執筆時点では18.04)をSDカードに書き込み、以下の手順に従って初回セットアップを行う。HDMIケーブル、モニター、キーボードが必要です。また、Raspberry Piはイーサネット経由でローカルネットワークに接続されている必要があります。
(pi)$ sudo apt update && sudo apt upgrade
Go to the FLIR File Download website for your camera. The software downloads will require a free FLIR account.
お使いのカメラのフリアーファイルダウンロードサイトにアクセスします。ソフトウェアのダウンロードにはフリアーシステムズの無料アカウントが必要です。
On the FLIR website, find the latest Linux Ubuntu ARM Operating System packages.
フリアーシステムズのウェブサイトで、最新のLinux Ubuntu ARMオペレーティングシステムパッケージをご覧ください。
(pi)$ ip a # check pi's ip address
(desktop)$ scp spinnaker-*-pkg.tar.gz spinnaker_python-*.tar \
ubuntu@<pi's ip address>:~
(pi)$ sudo sh install_spinnaker_arm.sh
(pi)$ sudo apt install <name-of-missing-package>
(pi)$ tar -xf spinnaker_python-1.*.tar
(pi)$ tar -xf spinnaker_python-1.*cp36*.tar.gz
(pi)$ sudo apt install dphys-swapfile # (optional)
# follow the rest of the increasing swap size tutorial (optional)
(pi)$ sudo apt install python3-pip
(pi)$ python3 -m pip install numpy
(pi)$ sudo python3 -m pip install spinnaker_python-1.*.whl
(pi)$ python3 -c 'import PySpin' # should take a few seconds, then exit silently
You will probably run into more dependency issues here. When you try to import PySpin with a missing dependency, you'll get an error along the lines of No Such File: <name-of-missing-package>.so
. See step 8 for help resolving these issues.
おそらくここで依存関係の問題にもっとぶつかるでしょう。依存関係が見つからないPySpinをインポートしようとすると、No Such File: <名前-of-missing-package>.soというエラーが表示されます。このような問題の解決についてはステップ8を参照してください。
(pi)$ sudo sh -c 'echo 256 > /sys/module/usbcore/parameters/usbfs_memory_mb'
Connect your USB 3.1 FLIR camera to the Raspberry Pi via USB.
USB3.1フリアーシステムズのカメラをUSB経由でRaspberry Piに接続します。
(pi)$ cd Examples/Python3
(pi)$ sudo python3 Acquisition.py
ドロップダウンリストを確認し、USB Root Hub (USB 3.0)を右クリック(またはタップ&ホールド)し、[Uninstall Device(デバイスのアンインストール)]を選択します(重複している場合は、1つずつすべてアンインストールしてください)。
必要であれば動作を確認し、デバイスを再起動します。再起動すると、Windows 10が自動的にUSBドライバを再インストールするはずです(私は、リブートしました)。
ここをクリックします。
画面が出てくるので、以下のボタンを押して下さい。
キャリブレーションに時間がかかるようですが、こんな感じの映像が出てきました
以上