opencv动态显示图像像素值
2011-12-26 15:51
423 查看
也比较简单,参考了网上的代码:
#include "cv.h"
#include "highgui.h"
void mouseHandler(int event, int x, int y, int flags, void* param)
{
IplImage* img0, * img1;
CvFont font;
uchar* ptr;
char label[20];
img0 = (IplImage*) param;
img1 = cvCloneImage(img0);
cvInitFont(&font, CV_FONT_HERSHEY_PLAIN, .8, .8, 0, 1, 8);
if (event == CV_EVENT_LBUTTONDOWN)
{
/* 读取像素 */
ptr = cvPtr2D(img1, y, x, NULL);
/*
* 显示像素值,注意是BGR
*/
sprintf(label, "(%d, %d, %d)", ptr[0], ptr[1], ptr[2]);
cvRectangle(
img1,
cvPoint(x, y - 12),
cvPoint(x + 100, y + 4),
CV_RGB(255, 0, 0),
CV_FILLED,
8, 0
);
cvPutText(
img1,
label,
cvPoint(x, y),
&font,
CV_RGB(255, 255, 0)
);
cvShowImage("img", img1);
}
}
int main()
{
IplImage* img = cvLoadImage("E:\\分类数据1\\5273-分类1.bmp", 1);
/* always check */
assert(img);
/* create a window and install mouse handler */
cvNamedWindow("img", 1);
cvSetMouseCallback("img", mouseHandler, (void*)img);
cvShowImage("img", img);
cvWaitKey(0);
/* be tidy */
cvDestroyAllWindows();
cvReleaseImage(&img);
return 0;
}
#include "cv.h"
#include "highgui.h"
void mouseHandler(int event, int x, int y, int flags, void* param)
{
IplImage* img0, * img1;
CvFont font;
uchar* ptr;
char label[20];
img0 = (IplImage*) param;
img1 = cvCloneImage(img0);
cvInitFont(&font, CV_FONT_HERSHEY_PLAIN, .8, .8, 0, 1, 8);
if (event == CV_EVENT_LBUTTONDOWN)
{
/* 读取像素 */
ptr = cvPtr2D(img1, y, x, NULL);
/*
* 显示像素值,注意是BGR
*/
sprintf(label, "(%d, %d, %d)", ptr[0], ptr[1], ptr[2]);
cvRectangle(
img1,
cvPoint(x, y - 12),
cvPoint(x + 100, y + 4),
CV_RGB(255, 0, 0),
CV_FILLED,
8, 0
);
cvPutText(
img1,
label,
cvPoint(x, y),
&font,
CV_RGB(255, 255, 0)
);
cvShowImage("img", img1);
}
}
int main()
{
IplImage* img = cvLoadImage("E:\\分类数据1\\5273-分类1.bmp", 1);
/* always check */
assert(img);
/* create a window and install mouse handler */
cvNamedWindow("img", 1);
cvSetMouseCallback("img", mouseHandler, (void*)img);
cvShowImage("img", img);
cvWaitKey(0);
/* be tidy */
cvDestroyAllWindows();
cvReleaseImage(&img);
return 0;
}
相关文章推荐
- opencv3.0访问像图像的像素值并显示
- 利用OpenCV鼠标事件设置函数setMouseCallback显示图像像素坐标值!
- opencv 中图像像素的读取与显示
- Opencv--像素值变化后的图像显示
- opencv--用鼠标动态改变显示图像窗口大小
- MFC中用OpenCV显示图像,并跟踪鼠标显示图像的坐标与像素
- OpenCV全屏显示图像H和W各有1像素的空白解决方法
- OPENCV系列(一) 读取图像中任意点的像素值,并显示坐标
- opencv 图像读取显示和像素操作
- opencv 图像像素点的值获取与显示
- 用opencv读取图像的每个像素值,鼠标点击获取每一个点,并显示像素
- OpenCV中一个窗口显示两幅图像
- OpenCV Python 图像的载入、显示和保存
- opencv显示图像
- OpenCV学习笔记(三):将图像显示在MFC控件上并做直方图均衡化处理
- Opencv图像识别从零到精通(5)-----Mat_ROI、颜色转换、多图显示、保存输出
- OpenCV_用积分图像统计像素
- OpenCV入门例子 反色显示图像
- 【opencv】显示图像
- Kinect+OpenNI学习笔记之4(OpenNI获取的图像结合OpenCV显示)