Image Watch

Microsoft Free

Provides a watch window for visualizing in-memory images (bitmaps) when debugging native C++ code.

(41) Review
Visual Studio
2015, 2013, 2012
Download (45,131)
E-mail Twitter Digg Facebook
Add to favorites
Reviews (41)
Q and A (83)
Sign in to write a review
Sort by:

by FlorianG73 | August 25 2015

Exxxcellent tool ! Very helpfull for debuging.

Will get the fifth star when support for 1Bpp and CMYK images will be available.

by Goran Dubajic | August 06 2015

Great tool!
Bug: debugging from VS2015 with platform toolset VS2013 in Image Watch it states [invalid] for an image which is correctly displayed when debugging from VS2013. If platform toolset is VS2015 everything works OK.

by olvrw | July 22 2015

by StevenHickson | July 17 2015

I really can't say enough about this plugin. It makes debugging for computer vision much easier and faster.
The visualization of custom classes is easy and also a great addition.

by zzdrghost | May 05 2015


by SergBabiychuk | April 16 2015

Great tools!
But I would like to see support:
1) for Qt5 objects: QImage,QPixmap(QBitmap)
2) for any pointers, with user selection of image parameters while debugging

by Baris Demiroz | March 24 2015

by Eejdoowad | March 13 2015

by Jaka Konda | March 03 2015

by vuki | February 27 2015

A must if you program with OpenCV

by bambambigelow | January 28 2015

this is an amazing extension! works like a charm and saves a lot of hassle while debugging opencv code

by Y.T. Tommy HU | January 08 2015

by Lukas Neumann1 | December 19 2014

Works like a charm, this add-in is a must for everyone working with OpenCV in Visual Studio.

by Elador | December 16 2014

THE best and most amazing plugin ever! Makes coding so much more productive, and more fun as well.

If you want one suggestion on what to improve, I'd say @mem(...). I don't needed it often, but when I'd need it, I most of the time can't get it to work. It's kind of documented, but I'm never sure: Do I put in the name of the variable? or '&variable'? or the address? or the address with 0x...? or...? and more often than not it's not working, and also not printing any error/debug information.

I think what would be useful as well is a small button that opens a menu that shows all the operators you can use, and their syntax - like a small documentation inside.

But those are just some tiny suggestions. It is incredible as it is!

by Mor CH | November 09 2014

absolutely useful and great, but I want this add-on for both Xcode and eclipse (Mac and Linux) very bad please.

by John Dance | September 12 2014

This makes debugging image handling so much easier. I love it! Thank you! The ability to extend to my image types (QImage/QPixmap) is a game changer.

by Rob42_ | August 04 2014

Thanks for this great extension to Visual Studio,
would like to see this open sourced to add even more features.

by Mudit Agrawal | June 24 2014

This is indeed a game changer! Debugging in-memory images has always been so hard in VS. The simple power of Image-Watch visualization, combined with the efficient operators can turn hours of debugging to minutes or seconds.

Great work!

by lin jingxian | April 06 2014

sounds good, but can not use with vs 2013 express ?

by V.N.V | February 23 2014

Just a note to say a simple Thank You to the author.

This extension is excellent.

It provides a "quicklook" into a sequence of images from a loop.

Without it, I'd be spending much more time on the problem. I'd need to save each image to disk, with a serialized name,
and bring each up individually in an external viewer.

1 - 20 of 41 Items   
Sign in to start a discussion

  • Image watch [invalid]
    1 Posts | Last post Mon 9:32 AM
    • Hello,
      I am using image watch with opencv 2.4.10 and 2013.
      every thing was good. However, it stopped working and I do not know why. it always shows [invalid] I delete it and reinstall it but nothing happened. I even re-install but it still [invalid].
      what could it be ??
  • 1-bit
    1 Posts | Last post August 21, 2015
    • Hello,
      I just found this awesome plugin ant it'll save me a lot of time while debugging my programs.
      I have a question though, is it possible to display raw image with 1-bit per pixel (monochrome black and white) using @mem ? And if so, how ?
  • View GPU mats with nsight
    1 Posts | Last post August 07, 2015
    • Would it be possible to setup Image Watch to get memory dumps from nsight as well as from cdb?
      I tried making a debug visualizer for a cv::cuda::PtrStepSz<cv::Vec3b>, Image Watch detects the type and tries to visualize it, but it looks like it isn't correctly getting any information from nsight.
  • View variable alphabetically
    1 Posts | Last post July 30, 2015
    • Hi,
      It's a great tool for debugging my program.
      I have a problem though. The image variables that I see in the window are displayed in a seemingly random order. How are the variables ordered? Is it possible to view the image variables in an alphabetical order?
  • raw bitmap
    4 Posts | Last post June 11, 2015
    • Hello.
      This extension has potential to be very useful to me. However, I don't have objects that represent pictures; I only have pointers to raw data (such as uchar *), paired with variables that hold width, height and stride.
      It would be great if you could add possibility to look images in a generic way - add another radio button which will show fields that could be manually edited (picture address, width, height, stride, format).
    • We will add support for this scenario in an upcoming update. Please see also the "Raw binary blob support" thread.
    • Is there any update on this? I just downloaded the latest version today and I have the same request. Thanks!
    • Hi! Update 1.0.1071.0 (April 2014) introduced the @mem operator to support this scenario. It is described on our help page under "Image Operators". Let us know if this isn't what you were looking for, or if you run into any problems with it. Thanks! -Wolf
  • Flip Image Vertically
    3 Posts | Last post June 09, 2015
    • Hi,
      we are amazed by this extension and would like to thank you for your hard work! 
      We have a small wish however: 
      Due to the great extendability via natvis we were able to quickly visualize our internal image. Unfortunately the origin of this internal image format is bottom left instead of top left. This leads the the images being displayed bottom up in the Image Watch. 
      Would it be possible to add some feature to be able to configure the visualization in the natvis for such flipped images? We could imagine e.g. a dedicated flag or maybe a negative stride? 
      Please do not mind if such feature already exists and we couldn't find it :)
      Thanks in advance!
    • Hi Wolfgang, 
      thanks very much for your feedback! You are right, the feature you are mentioning does not exist at this time. And I agree that it would be very useful to have. I'll add it to our TODO list for one of the next updates. 
      Best wishes,
    • Ping?
  • How does this work?
    2 Posts | Last post May 14, 2015
    • I can't seem to get this to visualize HBITMAPs or HICONs.  There is no magnifying glass as you specified.
      What am I doing wrong?
    • Oh, I see from the help that I got to through the Image Watch window shows that the image types that this plug in has support from are not WIN32 objects.  Forget it, this isn't what I'm looking for.  I don't think the Extensibility section will allow for this either. :(
  • Can't update Image Watch (.Net Framework)
    9 Posts | Last post April 23, 2015
    • Hi,
      I cannot update Image Watch recently (from 1.5.1103.0 to 1.5.1106.0) in Visual Studio 2013. The error is related to .Net Framework: The extension 'Image Watch' requires a version of the .Net Framework that is not installed.
      I think the issue is related to my installation of Visual Studio 2015 Preview which install .Net FrameWork 4.6 Preview. I think ImageWatch is not aware that I still have 4.5 installed due to 4.6 being also installed.
      Thank you for this great extension.
    • Erratum: I have Visual Studio 2015 CTP6 intalled.
    • Yes, Mee Two!
      Please fix this. I'm flying blind.
    • I have various flavours of Visual Studio 10,11,12, 13 (2010, 2013, and 2015 CTP preview).
      I'm getting startup failures reported without log entries and when I go to update add-ins, this add in won't update for some spurious nonsense reference to .net. I have every .net that has ever been released and pre-released. This is a good tool and a better idea. Shame it can break so easily.
    • Hi guys, 
      thanks for reporting this. We haven't seen this in our tests yet. Could you please share some more information about your setup so we can repro? 
      Versions of VS installed? 
      Order or VS installs? 
      In which version of VS do you see the error message? 
      Did you have (an older) IW installed and working before you installed 2015? 
      When exactly do you get the error message (during install, VS startup, or debugger startup)?
      Can you build and run a C# project in VS that targets .NET 4.5?
    • Update: after searching around a bit it seems that other extensions are having the same issue since they installed VS 2015. I still don't have a repro but I will find out if Visual Studio is planning to issue a fix, or if we have to change something on our end. 
      In the meantime, can you please try the workaround below? This has been posted on the "VSCommands" extension's forum, which had the same issue. 
      Download extension
      Rename .vsix file to .zip and open archive
      Edit extension.vsixmanifest
      Change line
           <Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" Version="4.5" />
          <Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" MinVersion="4.5" />
      Close editor
      Update archive
      Then install
      More info here:
    • Hi,
      Looks like the issue is related to the Update feature in the extension dialog in Visual Studio 2013. I was able to successfully update Image Watch by running the .vsix file directly (I did not do any modification to the manifest). 
      I also tried on a different user account (same PC). Image watch was not installed on that user account. Using the extensions dialog I failed to install (not update) Image watch for the same reason (.Net framework). I was able to install the extension with the vsix file though. 
      Hope this will help.
    • Thanks, Sebastien! This is very useful information. 
    • OK, we published another update yesterday. 
      The update has the same binaries and version number (1.5.1106). The only difference is the how the .NET dependency is specified in the manifest file. We hope that this fixes the issue. 
      Thanks again for reporting this.
  • 64 bit integers
    2 Posts | Last post April 20, 2015
    • Hi,
      Any plans on adding support for 64 bit integer images? 
      I am currently trying to use ImageWatch to visualize Eigen matrices and have it partially working for the int32, float and double types, but it fails if I want to use int64_t since 64 bit integers are not in your supported types list. 
      I could contribute a patch if I can get access to the source code. 
      Here are the partially working natvis for Eigen::Matrix types:
      Please note that they only work properly for RowMajor matrices. For column major the image is displayed as if it was transposed. You can however make it look right by using the @flipd operator.
    • Hi GDumont,
      many thanks for sharing your Eigen visualizers! 
      At this time we don't have plans to support 64 bit integers, sorry :/. One workaround might be to interpret the data as a two-channel 32bit image and, if needed, use the @band operator to look at the "low-word" vs "high-word" image. Certainly not optimal, but maybe better than not seeing anything at all?
  • Update Stopped the Ability to showe Images for My Own Image Type
    2 Posts | Last post April 20, 2015
    • Hi,
      I have my own image format with a buffer (same logic with opencv) and a wrapper class for opencv. Old version of Image Watch was able to display my images directly from my image format by clicking at the magnifier icon next to the pointer that points to the buffer. It was also same for the wrapped format where I clicked at the icon next to the buffer pointer.
      After the update, magnifier icon does not appear at all in my image format. In the wrapped format, I get [Raw] field and cv::Mat under it where the magnifier icon appears.
      What has changed with the update and why do I face with this situation?
      Kind regards
    • Hi elebasi,
      sorry to hear that. We didn't change anything that would result in what you're seeing (at least not intentionally). 
      Would you mind sharing the definition of your wrapper class and the .natvis file you wrote for it?
1 - 10 of 83 Items