2012-01-31 15 views
10

Escribo un montón de código de procesamiento de imágenes con muchas imágenes diferentes involucradas en C++ no administrado en Visual Studio 2010. Quiero poder verlas casi tan fácilmente, como un simple identificador mientras paso depuración paso a paso.Depuración de imágenes C++ no administradas en Visual Studio

Mi solución actual es usar alguna función que exporte imágenes en la consola de Matlab. Está bien, pero requiere modificación del código fuente, mientras que yo quiero hacerlo solo mientras se depura. Por lo tanto, la mejor opción es solo la aparición de la imagen mientras se desplaza la variable que contiene el mouse. Pero escribir un comando ExportToMatlab(image) en la ventana de comandos es suficiente. Sin embargo, no sé cómo hacer esto.

Existe la pregunta muy similar "Debugging image rendering in Visual C++, any helpful add-ins?", pero es demasiado antigua y no encontré respuestas aceptables en esa discusión. Algunas herramientas están basadas en .NET (ver imagen a continuación), algunas requieren que se escriba un código adicional (eso es lo que estoy usando actualmente), y algunos proyectos están congelados o sin terminar.

Screenshot from DebuggerVisualizer

que puede pasar algún tiempo en la implementación de una solución adecuada, por lo que los enlaces a algunas buenas guías sobre cómo personalizar visualizador de depurador de VS son bienvenidos también.

actualización

He creado una extensión de Visual Studio basado en Expression Evaluator Add-In. Está disponible para descargar desde su página de proyecto SourceForge, llamada NativeViewer. Compruebe la descripción sobre cómo usarlo.

+0

El depurador nativo no admite nada similar a los visualizadores disponibles en código administrado. La característica principal que falta es ejecutar código arbitrario en otro subproceso mientras un punto de interrupción está activo. –

+0

¿Y qué hay del acceso al estado del programa interno a través de la ventana Inmediato? ¿Puedo ejecutar alguna macro para este propósito? – Mikhail

Respuesta

3

Solo para la historia: Implementé mi propia solución basada en Expression Evaluator Add-In. No encaja lo suficientemente bien, pero pude implementar todo lo que necesitaba.

actualización

He creado una extensión disponible públicamente Visual Studio. Está disponible para descargar desde su página de proyecto de SourceForge, llamada NativeViewer. Compruebe la descripción sobre cómo usarlo.

+1

es su resultado disponible públicamente? – 0xC0000022L

+0

@ 0xC0000022L La solución mencionada es demasiado específica y no se comparte públicamente. Actualmente estoy trabajando en la extensión más conveniente para que VS muestre imágenes OpenCV (no será tan difícil de adaptar a otros formatos). Está disponible en http://sourceforge.net/projects/nativeviewer/. Sin embargo, todavía no está listo para su uso. – Mikhail

+0

gracias por la respuesta. – 0xC0000022L

4

No puedo creer que nadie haya sugerido Image Watch todavía. Es el add-in más sorprendente de todos los tiempos. Le muestra una vista con todas sus variables Mat (imágenes (gris y color), matrices) durante la depuración, hay cosas útiles como zoom o estiramiento de contraste e incluso puede aplicar funciones más complejas directamente en el complemento en tiempo real. Hace que la depuración de cualquier tipo de operación de imagen sea muy sencilla y es inmensamente útil si haces cálculos y cosas de álgebra lineal con tus matrices cv :: Mat.

enter image description here

+0

Cuando se formuló la pregunta, todavía no había Image Watch :) Actualmente ya lo estoy usando. Pero su respuesta podría ser útil para otros, provino de los motores de búsqueda, por lo que +1 – Mikhail

+0

Sí, eso es cierto. Se siente como si lo hubiera usado por años :-) – Ela782

Cuestiones relacionadas