opencv第四章第二题
发布日期:2022-01-31 02:37:27 浏览次数:44 分类:技术文章

本文共 1351 字,大约阅读时间需要 4 分钟。

#include "cv.h"#include "highgui.h"#include 
#pragma comment(lib,"cv.lib")#pragma comment(lib,"highgui.lib")#pragma comment(lib,"cxcore.lib")void my_mouse_callback(int event, int x, int y, int flags, void* param);void putText(IplImage* image, CvPoint point);//int x_mouse; //int y_mouse;CvPoint point;int main(int argc, char** argv){ IplImage* image = cvLoadImage("1.bmp"); cvNamedWindow("textshow",CV_WINDOW_AUTOSIZE); cvSetMouseCallback("textshow",my_mouse_callback,(void*)image); cvShowImage("textshow",image); cvWaitKey(0); return 1;}void my_mouse_callback(int event, int x, int y, int flags, void* param){ IplImage* img = (IplImage*)param; switch (event) { case CV_EVENT_LBUTTONDOWN: //CvFont font = cvFont(10,5); //cvInitFont(font,CV_FONT_HERSHEY_SIMPLEX,1,1,0); point.x = x; point.y = y; putText(img,point); break; default: break; }}void putText(IplImage* image, CvPoint point){ /*这句话不能放在main函数里,因为在鼠标没有点击的时候,不会执行回调函数,所以此时point是没有值的。若放在main函数里,会显示非法访问内存 */ uchar* ptr = (uchar*)image->imageData+ point.y*image->widthStep + point.x*image->nChannels; //return 0; char color[100] ; int s = sprintf(color, "%d,%d,%d",*ptr,*(ptr+1),*(ptr+2)); printf("%d\n",s); CvFont font = cvFont(10,1); cvInitFont(&font,CV_FONT_HERSHEY_SIMPLEX,1,1,0); cvPutText(image,color,point,&font,cvScalar(0,0,0)); cvShowImage("textshow",image);}

转载地址:https://blog.csdn.net/LJH0600301217/article/details/8650413 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:关于opencv中的霍夫圆变换的理解
下一篇:学习opencv第四章第三题

发表评论

最新留言

不错!
[***.144.177.141]2024年03月30日 07时20分23秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章