VS2013中Image Watch插件的使用(OpenCV)

   轉載:http://blog.csdn.net/fengbingchun/article/details/46756373

 之前在vs2010中寫OpenCV程序時經常用NativeViewer,安裝此插件後,在調試代碼時,對於cv::Mat變量,CV_TYPE類型爲CV_8UC1或CV_8UC3,可以隨時查看顯示結果。其操作步驟爲:

1.        從http://sourceforge.net/p/nativeviewer/wiki/QuickStartGuide_VS2010/下載最新版本NativeViewer,並按照介紹的步驟在vs2010中進行安裝;

2.        打開一個工程,在Debug下設置斷點,當光標定位到cv::Mat變量時,CV_TYPE類型必須爲CV_8UC1或CV_8UC3中的一種,其它類型不行,此時按住Ctrl鍵,然後將光標定位到此變量時,將會以圖像形式將內容顯示出來。

最近用vs2013,發現NativeViewer不支持,它只支持vs2010,發現有一個比NativeViewer更強大的插件Image Watch,它可以支持vs2012、vs2013及vs2015。其操作步驟爲:

1.        從https://visualstudiogallery.msdn.microsoft.com/e682d542-7ef3-402c-b857-bbfba714f78d下載最新版本Image Watch(ImageWatch.vsix);

2.        安裝ImageWatch,雙擊ImageWatch.vsix進行安裝即可;

3.        打開一個OpenCV工程,在Debug下設置斷點,通過view -> other windows -> Image Watch打開Image Watch窗口,即可顯示cv::Mat圖像。

Image Watch可進行的操作包括:

1.      放大、縮小圖像;

2.      將圖像保存到指定的目錄;

3.      顯示圖像大小、通道數;

4.      拖拽圖像;

5.      可以查看指定座標的像素值(按照在內存中的順序顯示);

6.      Link Views:所有相同尺寸的圖像共享一個視圖;

7.      像素值以十六進制顯示還是十進制顯示;

8.      在Watch窗口可對圖像進行的操作包括(Image Watch包括Locals和Watch兩個窗口):

(1)、提取指定通道圖像:@band(img, number);

(2)、對指定圖像進行閾值化:@thresh(img, threshold);

(3)、對圖像像素值進行取絕對值操作:@abs(img);

(4)、對圖像像素值進行縮放操作:@scale(img, factor);

(5)、通過1/255方式縮放像素值操作:@norm8(img);

(6)、沿y軸水平flip:@fliph(img);

(7)、沿x軸垂直flip:@flipv(img);

(8)、對圖像進行矩陣轉置操作:@flipd(img);

(9)、對圖像進行順時針90、180、270度操作:@rot90(img)、@rot180(img)、@rot270(img);

(10)、計算兩幅圖像的像素差值:@diff(img0, img1);

(11)、載入圖像:@file(path), @file(“d:\1.jpg”);

(12)、將指定的內存地址內容按照指定的圖像格式顯示出來:@mem(address, type, channels, width, height, stride),如@mem(0x00000000003d1050,UINT8, 3, 256, 256, 768 );

Image Watch的更詳細介紹可參考:http://research.microsoft.com/en-us/um/redmond/groups/ivm/imagewatchhelp/imagewatchhelp.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章