《学习OpenCV》第四章课后题2
来源:互联网 发布:联通大数据宣传片 编辑:程序博客网 时间:2024/05/29 18:05
题目说明:
创建一个程序,使其读入并显示一幅图像。当用户鼠标点击图像时,获取图像对应像素的颜色值(BGR),并在图像上点击鼠标处用文本将颜色值显示出来。
a.对于练习1b,在三幅图像中任何地方点击鼠标,将当前图像的坐标显示于点击鼠标处。
#include <highgui.h>#include <cv.h>CvFont font; //鼠标事件回调函数void my_mouse_callback(int event, int x, int y, int flags, void* param){ // 得到图像 IplImage* image = (IplImage*) param; // 获取图像对应像素的颜色值 CvScalar pixel_value; pixel_value = cvGet2D( image, x, y ); // 构造要显示的文本 char display_text[14]; sprintf( display_text, "(%d %d %d)", (int) pixel_value.val[0], (int)pixel_value.val[1], (int)pixel_value.val[2] ); switch(event) { // 鼠标左键点击事件 case CV_EVENT_LBUTTONDOWN: printf("(%d, %d) --- (%f\t%f\t%f)\n", x, y, pixel_value.val[0], pixel_value.val[1], pixel_value.val[2]); cvPutText( image, display_text, cvPoint(x, y), &font, cvScalar(0,255,0)); break; }}int main(){ IplImage* image = cvLoadImage("E:/shark.jpg", 1); cvInitFont(&font, CV_FONT_HERSHEY_PLAIN, 1.0f, 1.0f, 0, 1, 8); cvNamedWindow("image"); cvSetMouseCallback( "image", my_mouse_callback, (void*)image ); while(1) { cvShowImage("image", image); if(cvWaitKey(15) == 27) break; } cvReleaseImage( &image ); cvDestroyAllWindows(); return 0;}
引用:qdsclove的专栏
http://blog.csdn.net/stk_overflow/article/details/8760068
0 0
- 《学习OpenCV》第四章课后题2
- 《学习OpenCV》第四章课后题4
- 《学习OpenCV》第四章课后题6
- 《学习OpenCV》第四章课后题7
- 《学习OpenCV》第四章课后题8
- 《学习OpenCV》第四章课后题9
- 《学习opencv》第四章课后习题2
- 《学习OpenCV》第四章课后题1-a
- 《学习OpenCV》第四章课后题1-b&c
- 《学习OpenCV》第四章课后题3-a
- 《学习OpenCV》第四章课后题3-b
- 《学习OpenCV》第四章课后题5-a
- 《学习opencv》第四章课后习题1
- 《学习opencv》第四章课后习题3
- 《学习opencv》第四章课后习题4
- 《学习OpenCV》第三章课后题2
- 《学习OpenCV》第五章课后题2
- 《学习OpenCV》课后习题解答(第四章)(仅供参考)(不断更新)
- Override和Overload的区别
- 打印汉诺塔游戏轨迹
- VC 实现文件与应用程序关联
- IO流(下)
- Python 使用os模块遍历文件目录
- 《学习OpenCV》第四章课后题2
- 树状数组
- android中Handler的源码分析
- 字典转model类、封装(OC中)
- OC学习笔记之OC内存管理
- SSH Secure Shell Client用pub key认证登录linux
- java面试中注意的问题02
- 【Cocos2d-x】CCArray
- 第三方登录之微信登录