Visual Studioでデバッグ時にOpenCVのMat等の画像を表示できるプラグインが便利
OpenCV公式サイトのNEWSを見てたら「Image Watch plugin for Visual Studio」というのを見つけた.使ってみたら便利そうだったのでメモ.もっと早く知りたかった.
わざわざimshowとかのコードを追加してウィンドウを表示させなくてもMatの中の画像を確認できる.また,拡大表示とか画素値の表示も出来るため通常のOpenCVの画像表示用のウィンドウより便利な気がする.
Image Watch plugin for Visual Studioのインストール
以下のサイトからダウンロードしてきて指示にしたがってインストールするだけ.
Image Watch extension
以下のサイトに詳しい手順等載ってます.
Image Watchの使い方 | dandelion's log
使ってみる
以下のコードで試してみた.画像を表示させるためのコードは特に必要ない.画像が入っている変数があれば自動で表示してくれる.
#include <opencv2/opencv.hpp> using namespace cv; void main() { // 画像読み込み Mat img = imread("Penguins.jpg"); // Sobelフィルタ Mat imgSobel; Sobel(img, imgSobel, img.depth(), 1, 1); // ラプラシアンフィルタ Mat imgLaplacian; Laplacian(img, imgLaplacian, img.depth()); // Cannyアルゴリズム Mat imgCanny; Canny(img, imgCanny, 50, 200); }
一番下の行にブレークポイントを置いて,デバッグ実行して止める.
「表示」メニューの中から「Image Watch」を探してクリックしてウィンドウを表示させる.
そうすると以下の様なウィンドウが出てきて,Mat型の変数とその中身の画像が表示される.
左側に画像一覧があるので,クリックすれば以下のようにその画像が表示される.
マウススクロールで拡大可能.
最大まで拡大すると各画素の画素値が数字で表示される.
画素を右クリックしたら,その画素のアドレスのコピーとかも出来るもよう.
以上のようにOpenCVのMatの中の画像を簡単に確認できるので,Visual StudioでOpenCVを使う場合はかなり便利だと思う.
試してないけど配布サイトの説明によると,cv::Mat_<>, CvMat, _IplImageなんかにも対応しているらしい.