运行时使用鼠标左键点图像上任意点,即可显示该点rgb图像各通道的值及该图像对应的灰度图象的灰度值
//PixelValueMonitor.h
#include "cv.h"
#include "highgui.h"
class PixelValueMonitor{
public:
PixelValueMonitor(IplImage* img);
~PixelValueMonitor();
static void mouse_callback(int trigerEvent,int x,int y,int flags,void* param);
void run();
IplImage* m_img;
IplImage* m_grayImage;
char* m_windowName;
bool m_destroyWindow;
};
//PixelValueMonitor.cpp
#include "PixelValueMonitor.h"
PixelValueMonitor::PixelValueMonitor(IplImage *img){
m_img=cvCreateImage(cvSize(img->width,img->height),img->depth,img->nChannels);
cvCopy(img,m_img);
m_grayImage=cvCreateImage(cvSize(img->width,img->height),IPL_DEPTH_8U,1);
cvCvtColor(m_img,m_grayImage,CV_RGB2GRAY);
m_windowName="window for pixel monitoring";
m_destro