まだ見ぬ明日を

ライブレポートがメインのチラシ裏

cv::Mat画素へのアクセス

vector<vector<vector<int>>> Array;

cv::Mat src = cv::imread("hoge.bmp");

int iHEIGHT = src.rows;

int iWIDTH = src.clos;

 

for (int h = 0; h < iHEIGHT; h++)
{
    for (int w = 0; w < iWIDTH; w++)
    {
        for (int c = 0; c < src.channels(); c++)
        {
            Array[w][h][c] = src.data[h * src.step + w * src.elemSize() + c];
        }
    }
}

Galaxy Watchの純正急速充電ケーブルが単品で買えない件

 Galaxy Watchユーザーならば、宿泊を伴う外出のことを考えるともう一本欲しくなるかと思いますが、なぜか単品で買えないんですよね。

1日半くらいの外出は全然余裕ですが、一泊とかアクティブに活動してしまうとバッテリーは心配になります。

 

www.samsung.com

↑なぜか写真には掲載されているが充電機器のページにはありません。

 

日本国外だと

オンラインストアの左下の言語選択で言語を変更できます。

 

www.samsung.com

品番:EP-OR900BBEGWW

 

イギリス(UK)には、なんと売っていました。

ただ、レビューは低評価ばかり・・・

ざっと目を通したら言っていることも分かる内容でした。高いとか、独自規格で~とか。

 

この品番で検索すると、海外輸入として転売しているショップもありますが、1万弱なので購入するに値しない価格です。

 

結論

急速充電ケーブルを諦めてサードパーティー製を買うか、大事に純正急速充電ケーブルを使い続ける。

サードパーティー製は、USB-Cになってても急速ではなかったりしますので、注意です。

 

【2024最新版】Galaxy Watch5で心電図と血圧測定(SHM・サムスンヘルスモニター)を使えるようにする手順

 

k0bakatsu.hatenablog.com

以前、まとめたけど、正しくない上にこっちの方が簡単です。

 

 

 

 

用意するアプリ

xdaforums.com

XDAにサムスンヘルスモニターのMODアプリが公開されています。

全部で下記の4つのアプリが必要です。

・phone.shm.mod.companion.xxx.apk

・phone.wearos.shm.mod.xx.apk

・watch.shm.mod.companion.xxx.apk

・watch.shm.mod.xxx.apk

頭に”phone”が付くアプリは、Android

"watch"が付くアプリは、GalaxyWatchのアプリになります。

 

下記のコンパニオンアプリをインストールすれば他3つはこのアプリ経由でダウンロードできます。

・Download SHM MOD Companion App

上記のXDAの「Download SHM MOD Companion App」のリンクからアプリをダウンロード。

現時点での最新版5.8.0

drive.google.com

Android側の管理アプリになるコンパニオン

このアプリをインストールすれば、Android側とGalaxyWatch側のアプリを管理することができます。

アップデートがあれば通知が飛んでくる。

 

サムスンヘルスモニターMODバージョン

コンパニオンアプリを開きます。

これからインストールするのは、サムスンヘルスモニター本体アプリです。

Shm Wearos modバージョンをタップして、ダウンロードし、インストールします。

一応日本語ローカライズされていますが、多少翻訳が変なところがありますが察してください。

 

 

Watch SHM MOD CompanionとWatch SHM MOD

Androidのコンパニオンアプリに戻って、GalaxyWatch側にアプリをインストールさせます。

前提として、

・Androidと同じWi-Fiに接続している状態

・ADBデバッグを有効にしていること

が必要です。

Wi-Fiは、必要なときに自動で接続するようになっているので、一旦設定のWi-Fi画面を開いて接続してやらないといけません。

 

SHM MOD CompanionのWATCHタブを開いて…

ダウンロード

「Watch SHM MOD Companion」のリンクをタップしてダウンロード。

同様に、「Watch SHM MOD」のリンクをタップしてダウンロード。

Android側でダウンロードしただけなので、これからワイヤレス接続してアプリを送り込みます。

ADB接続

IPアドレス欄に、GalaxyWatch側のIPアドレスとポート番号を入力し、接続。

初回時は、開発者向けオプションのワイヤレスでデバッグからIPアドレスとポート番号を確認します。

開発者向けオプションは、ソフトウェアバージョン連打で出てきます。

接続できないときは、IPアドレスとポート番号をよく確認して下さい。

 

次回からはこれからインストールするコンパニオンアプリから確認できます。

 

インストール

「サイドロードAPKファイル」の【APKを選択します】ボタンを押して、ダウンロードした「watch.shm.mod.companion.xxx.apk」を指定して、インストールさせます。

指定するアプリを間違えないようによく名前を確認して下さい。アイコンが似ていて、Android側のapkを指定しがちw

 

もう一度、「サイドロードAPKファイル」の【APKを選択します】ボタンを押して、ダウンロードした「watch.shm.mod.xxx.apk」を指定して、インストールさせます。

 

以上。

【C++】PictureBoxコントロールを使って、Mat型の画像データを表示する方法

Mat型の画像データをUIであるPictureBoxコントロールに代入する方法

 

 

 

 

【C++】vectorを使った空の多次元配列に要素を追加する

要素数を決定してから追加する解説は見かけたが、とりあえず入れ物だけ用意して後から中身を追加したいというケースがなかったのでメモ

 

vector<vector<int>> a;//「ベクタを要素に持てる」ベクタ(中身は空)

a.push_back(vector<int>());//空のベクタを1つ追加(a[0]に相当します)
a[0].push_back(1);//a[0][0]=1に相当する要素を追加
a[0].push_back(2);//a[0][1]=2に相当する要素を追加
a[0].push_back(3);//a[0][2]=3に相当する要素を追加

a.push_back(vector<int>());//空のベクタを1つ追加(a[1]に相当します)
a[1].push_back(4);//a[1][0]=4に相当する要素を追加
a[1].push_back(5);//a[1][1]=5に相当する要素を追加

 

空のベクタのpush_backをするのが肝のようです。

 

 

k0bakatsu.hatenablog.com

 

 

 

ブラックフライデー 現像ソフトセールまとめ

①SILKYPIX

ブラックフライデーではなく、ウィンターセールなので期間は長め。

期間:2023/11/21(火)~ 2024/1/15(月)

 

対象:

SILKYPIX® Developer Studio Pro11 ダウンロード版新規ライセンス
17,000円 (税込)

SILKYPIX® Developer Studio 11 ダウンロード版新規ライセンス
8,200円 (税込)

SILKYPIX® JPEG Photography 11 ダウンロード版新規ライセンス
2,300円 (税込)

Photo ExpressViewer® ダウンロード版新規ライセンス
1,970円 (税込)

 

shop.isl.co.jp

②Affinity Photo

40%オフ

期間:~ 12/5(金)たぶん日本時間ではない

https://x.com/affinitybyserif/status/1726592778170204253?s=20

 

対象:

Mac/Win版6,200円(税込)

iPad版1,600円(税込)

 

 

affinity.serif.com

③Capture One

50%オフ

期間:~2023/11/27/23:59(CET)

 

対象:

Capture One Pro デスクトップ サブスクリプション
¥ 1,262.42 月額

All in One バンドル サブスクリプション
¥ 1,826.58 月額

Capture One Pro デスクトップ 永久ライセンス
¥ 25,305

 

www.captureone.com

④Adobe

写真向けは、CCとPhotoshopのみ

期間:~12/4

 

対象:

Creative Cloudコンプリートプラン
3,960 円/月 (税込)

Photoshop
1,848 円/月 (税込)

 

www.adobe.com

 

 

 

⑤DxO

最大50%オフ

期間:明記していない

 

対象:

DxO PhotoLab 7
¥19,900 

DxO FilmPack 7
¥9,900 

DxO PureRAW3
¥10,500 

DxO ViewPoint 4
¥5,500 

Nik Collection6
¥12,500 

 

shop.dxo.com

 

 

【C++】動的な領域の配列をつくる

変数で配列の要素数を決定したい場合の手法のまとめ

ポインタ配列

使い方は、ごく普通の配列と同じ

デバッグ時の配列の中身を参照できないのがデメリット

 

1次元配列

double *array = new double[size_x];

delete array;

 

2次元配列

double **array = new double*[size_x];
for (int i = 0; i < size_x; i++) {
    array[i] = new double[size_y];
}

for (int i = 0; i < size_x; i++) {
    delete array[i];
}
delete array;

 

3次元配列

double ***array = new double**[size_x];
for (int i = 0; i < size_x; i++) {
    array[i] = new double*[size_y];
    for (int j = 0; j < size_y; j++) {
        array[i][j] = new double[size_z];
    }
}

for (int i = 0; i < size_x; i++) {
    for (int j = 0; j < size_y; j++) {
        delete array[i][j];
    }
    delete array[i];
}
delete
array;

 

vector

要「#include <vector>」

vectorもごく普通の配列と同じ使い方

追加や削除など配列の操作が柔軟

 

1次元配列

vector<Type> v;
vector<Type> v();
vector<Type> v(n);
vector<Type> v(n, d);

 

2次元配列

vector<vector<Type>> vv;
vector<vector<Type>> vv();
vector<vector<Type>> vv(n);
vector<vector<Type>> vv(n, vector<Type>(m));
vector<vector<Type>> vv(n, vector<Type>(m, d));

 

3次元配列

vector<vector<vector<Type>>> vvv;
vector<vector<vector<Type>>> vvv();
vector<vector<vector<Type>>> vvv(n, vector<vector<Type>>(m, vector<Type>(l)));
vector<vector<vector<Type>>> vvv(n, vector<vector<Type>>(m, vector<Type>(l, d)));

 

参考文献

blog.northcol.org

qiita.com

 

k0bakatsu.hatenablog.com