閑古鳥

オールドプログラマの日記。プログラミングとか病気(透析)の話とか。

Python

OpenCV(C++)のcv::Matから一部を切り抜いて(ROI)フィルタをかける際に、元画像の画素値も参照される

PythonとC++で、同じような実装をしたつもりが結果が異なるので少しハマりました。 # Python import cv2 import numpy as np mat = np.zeros((100, 100), np.uint8) + 100 cv2.rectangle(mat, (20, 20), (80, 80), 128, cv2.FILLED) roi = mat[20:80, 20:80]…

ルートディレクトリでhas_parentがfalseになると思っていた

ルートディレクトリでhas_parentがtrueになるの解釈違いだった— wata_d (@wata_d) 2021年10月27日 #include <filesystem> namespace fs = std::filesystem; int main() { fs::path path(R"(C:\Users\Public\Documents)"); while (path.has_parent_path()) { std::cout <<</filesystem>…

混合行列わからん!

Confusion Matrixって混乱行列じゃん! 左右盲なのかわからないけど、右左も間違えるのにこんなの覚えられませんわ。 というわけでsklearnに全部やってもらう。 from sklearn.metrics import confusion_matrix, accuracy_score, precision_score, recall_sco…

Jupyter Notebookで実行結果をキャッシュしながらトライアンドエラーをする

たぶん、ごくごく基本的な使い方だと思いますが。 import pandas as pd df = pd.read_excel('./data.xls') # これに数十msかかる # dfを使って何かする みたいなことをそのままやろうとすると実行する度にファイル読込を行われて効率が悪いので、3行目以降の…

Pythonメモ

グローバル変数を使いたい globalを使う。 global_variable = 'hello, world!' def func(): global global_variable # これ print global_variable 空のループを回したい ループに限らず、空のブロックを作りたいときはpass文を使う。 for _ in range(0, 100…

cpplint

Google C++スタイルガイド 日本語訳 | textdrop久しぶりに読んだら、cpplintというツールが紹介されていました。C++ のソースコードが上記のスタイルに則っているかを調べてくれるようです。面白そうなのでちょっと試してみました。 $ cat before.cpp #inclu…

C/C++で作成したDLLのテストをPythonで行う

C/C++でDLLを作成した後、そのDLLの動作確認を行うには別途プログラムが必要になってきますが*1、それにまたC/C++を用いるのはあまり効率が宜しくないと前から思っていて、スクリプトを使ってもっとお手軽にしたいと考えていたのを少し実践してみました。な…