需要のないページ

プログラミングや趣味や。

プログラミング

ImportError: cannot import nameにいじめられた話

前書き ImportErrorの中で、頻出し、即座に解消出来るのはこのようなものかと思う。 >>> import hoge Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named 'hoge' おおかたモジュール名を間違えたか、階層が異なるかのい</module></stdin>…

TensorFlow/models/Mask R-CNNのクラス構造と関数の引数

Pull Request #1561によるコードとコメントをまとめたもの。 Apache Licenseなので、問題はない... はず。 MaskRCNNBoxPredictor (BoxPredictor)Mask R-CNN Box Predictor. See Mask R-CNN: He, K., Gkioxari, G., Dollar, P., & Girshick, R. (2017). Mask …

SSD-TensorFlowをWindows10で試してみる

前書き そろそろ物体検出のアルゴリズムを試してみないと、と思い立った。*1 使ってみるのはSSDと呼ばれるもの。ぶっちゃけ内容は理解していない。 SlideShareにも参考になりそうなスライドがある。 SSD: Single Shot MultiBox Detector (ECCV2016) from Tak…

TensorFlowの学習済みモデルをいじってみる(1)

能書き TensorFlowの学習済みモデルで遊ぼうと思ったら、いろいろとハマった。 同じようにハマることもあるだろう、記録は残しておいた方がよい。 環境 Windows 10 64bit PyCharm 2017.1.3 Miniconda 3.6 Python 3.5 Tensorflow-gpu 1.1.0 <pip> チュートリアルの</pip>…

OpenCVのクラスの前方宣言をまとめてみる

cv::Mat cv::Point cv::Range cv::Rect cv::Scalar cv::Size cv::String 次のサイトがものすごい参考になる。 cv::Mat namespace cv { class Mat; } cv::Point namespace cv { template< typename > class Point_; typedef Point_< int > Point; } cv::Range…

Python食わず嫌いな人間が環境を作ってみた [Miniconda + PyCharm]

前書き C++畑で育った人間として、Pythonはとても気持ち悪く思える。 動的型付けなんて黒魔術みたいだ/バイナリファイルを作りたい/etc. しかし、『使えない』のと『使わない』のとは全く違う。 最低限は試してみようと、環境を構築してみることにした。 …

定数M_PIが使えない

能書き かなり間があいたので、小ネタ。 毎度ながら、知ってる人にとっては当たり前の内容を有難そうに書く。 遭遇したエラー 例えば、次のようなコードを書いたとする。 まあ、半径から円の面積を計算するだけの、よく見るコードだ。 ただし、円周率を自前…

Qtでソケット通信を試してみた(UDP)

能書き トランスポート層のプロトコルは主に二種類ある。 確実だけどめんどくさいTCP 不確実だけど楽チンなUDP 今回はQtのQUdpSocketを用いたUDPのソケット通信を試してみた。 ネットワーク通信については詳述できないしないが、次のページが参考になる。 ま…

マルチスレッドQtアプリケーション(まとめ)

能書き Qtでマルチスレッドを実現する方法にはいくつかある。 それらの方法や参考となるページをまとめる。 『マルチスレッドとは何か?』 これについては、検索すればいくらでも情報がヒットするので、特筆しない。 個人的には、『処理の流れが複数ある状態…

マルチスレッドQtアプリケーション(2)

能書き 前回の記事の続きとして見てもよいだろうし、そうでなくてもよいだろう。 マルチスレッドをQtで再現する方法はいくつかあるが、 その中で、QThreadにタスクを委譲するものを紹介する。 簡単な例 まず、特に簡単なコードを示す。 異なるスレッド間で直…

マルチスレッドQtアプリケーション(1)

能書き マルチスレッドをQtで再現する方法はいくつかあるが、 その中で、QThreadの継承を利用するものを紹介する。 コード:特にシンプルな例 まずはシンプルな例として、次のコードを書いてみた。 ヒープ領域を解放していなかったり、プログラムの終了条件…

既存のVisual StudioプロジェクトをQt用に変換する方法:オマージュ

前書き この記事は、次のページを尋常じゃなく参考にしている。 参考というより、実行環境が違うだけだ。 同時に、先日の私の記事の解決編でもある。 環境 Windows10 Visual Studio 2015 Community Qt 5.6.0 Add-in 2.0.0 for Qt5 アドインなどが正しくイン…

Visual Studio 2015でQt GUIプログラムを組んでみる(2)

前回の続き louis-needless.hatenablog.com このページの続き。 このGUIは、QPushButtonとQLineEditを使っている。 実際にはQHBoxLayoutも利用しているが、まあ無くても問題はない。 シグナルとスロット せっかくボタンを付けたのだから、なにか応答がないと…

Visual Studio 2015でQt GUIプログラムを組んでみる(1)

能書き 前にVS上でQtが動かないという記事を書いたが、結論から言うと動いた。 適当なこと言ってすみません。 環境 Windows10 Visual Studio 2015 Community Qt Designer 5.6.0 Add-in 2.0.0 for Qt5 アドインなどが正しくインストールされている前提。 プロ…

QLabelに画像を貼り付ける

クラスを選ぶ Qtにおいて、画像を表示できるウィジェットは、(たぶん)主に三種類ある。 QLabel QGraphicsView QPainter 単純に画像を表示するだけなら、QLabelが簡単そうだ。 画像行列自体を扱うクラスも、四種類ほどある。 QImage QPixmap QBitmap QPicture…

PickerModalLoopの前に屈服した話

QFileDialogクラスの静的メソッドに、getOpenFileNameというものがある。 これはたぶんWin32APIの同名関数のラッパであるが、 Qt Creator上で使用すると次のようなランタイムエラーがでる。 shell\comdlg32\fileopensave.cpp(14274)\comdlg32.dll!00007FFA27…

Qtのビルドディレクトリが鬱陶しい話

能書き デフォルト設定のままビルドすると、 ビルドディレクトリはプロジェクトのディレクトリと同一階層に生成される。 こんな感じ。 これは気持ち悪い。 しかも、DebugとReleaseとでディレクトリが分かれているにも関わらず、 ファイル内部はこんな感じだ…

Qtのプログラムをデバッグできない

Qt Creatorを使ってみたはいいけれど、実行はできてもデバッグできない。 『Unknown debugger type "No engine"』 いや、普通にデバッガが登録されてないって言ってよ... デバッガを入手したはよいが、それでもエラーは改善されない。 ちょっとオプションを…

Visual Studio 2015とWindows 10 SDKを両立させる

いろいろなソフトをいじってると、Windows SDKを要求される場面が多々ある。 Visual StudioにはWindows SDKが同梱されているけれど、 VS2015のSDKは、外部から参照できない形で組み込まれているようだ。 仕方ないのでSDK単体をインストールしようとすると、…

qt_metacallのリンクエラーを解消した(い)

追記:2017/03/21 内容に誤りが多かったため、大幅に修正しました。 発生した問題 Visual studioにQtをアドインで入れてみた。 QtのQObjectクラスを継承したクラスを作るときは、 Q_OBJECTマクロをヘッダに記載しなければならない。 でも、いざコンパイルし…