Open CV学习记录(十七)—从图上显示某点的坐标
来源:互联网 发布:如何手机淘宝购物 编辑:程序博客网 时间:2024/06/06 05:50
#include<opencv2\opencv.hpp>#include <stdio.h>using namespace cv;void on_mouse(int event, int x, int y, int flags, void* ustc);Mat image;int main(){ /* src=cvLoadImage("lena.jpg",1); cvNamedWindow("src",1); cvSetMouseCallback( "src", on_mouse, 0 ); cvShowImage("src",src); cvWaitKey(0); cvDestroyAllWindows(); cvReleaseImage(&src); */ //VideoCapture capture("E:\\2.mp4"); for (int i=1;i<500;i++) { char rowfilename[255]; sprintf(rowfilename, "E:\\2\\a%d.bmp", i); image = imread(rowfilename); namedWindow("Image"); if (image.empty()) { break; } setMouseCallback("Image", on_mouse, 0); imshow("Image", image); char filename[255]; sprintf(filename, "E:\\2\\img%03d.bmp", i); imwrite(filename,image); waitKey(0); } return 0;}void on_mouse(int event, int x, int y, int flags, void* ustc){ /*CvFont font; cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX, 0.5, 0.5, 0, 1, CV_AA);*/ if (event == CV_EVENT_LBUTTONDOWN) { CvPoint pt = cvPoint(x, y); char temp[16]; sprintf(temp, "(%d,%d)", pt.x, pt.y); putText(image, temp, pt, FONT_HERSHEY_SCRIPT_SIMPLEX,3,Scalar(0,0,255),3,8); /* void cvPutText( CvArr* img, const char* text, CvPoint org, const CvFont* font,CvScalar color ); img:输入图像 text:要显示的字符串 org:第一个字母左下角的坐标 font:指向字体结构的指针 color:文本的颜色. */ //cvCircle(src, pt, 2, cvScalar(255, 0, 0, 0), CV_FILLED, CV_AA, 0); /* 定义 void cvCircle( CvArr* img, CvPoint center, int radius, CvScalar color, int thickness=1, int line_type=8, int shift=0 );[1] img 图像 center 圆心坐标 radius 圆形的半径 color 线条的颜色 thickness 如果是正数,表示组成圆的线条的粗细程度。否则,表示圆是否被填充 line_type 线条的类型。见 cvLine 的描述 shift 圆心坐标点和半径值的小数点位数 */ imshow("Image", image); }}/*OpenCV中的鼠标响应的函数是setMouseCallback(),可以实现画图的功能。c++: void setMousecallback(const string& winname, MouseCallback onMouse, void* userdata=0)winname:窗口的名字onMouse:鼠标响应函数,回调函数。指定窗口里每次鼠标时间发生的时候,被调用的函数指针。 这个函数的原型应该为void on_Mouse(int event, int x, int y, int flags, void* param);userdate:传给回调函数的参数void on_Mouse(int event, int x, int y, int flags, void* param);event是 CV_EVENT_*变量之一x和y是鼠标指针在图像坐标系的坐标(不是窗口坐标系)flags是CV_EVENT_FLAG的组合, param是用户定义的传递到setMouseCallback函数调用的参数。*/
0 0
- Open CV学习记录(十七)—从图上显示某点的坐标
- Open CV学习记录(五)——离群点、访问图像像素、remap、resize
- Open CV学习记录(十六)—从视频中取每一帧保存
- Open CV学习记录(八)——remap
- Open CV学习记录(十三)——HcVision码流
- Open CV学习记录(十九)—图片拼接
- Open CV 学习记录(一)
- Open CV学习记录(十)
- Open CV学习记录(十一)
- Open CV学习记录(六)——图像的翻转
- Open CV学习记录(二十)—Mat的运算和Rect
- Open CV学习记录(二十一)—鼠标回调函数的使用
- Open CV学习记录(十二)——HCvision IPC 利用NET_DVR_CaptureJPEGPicture_NEW进行视频抓图
- Open CV学习记录(七)——图片B、G、R成分的分离与合并
- Open CV学习记录(二)——图像翻转、锐化、亮度和对比度
- Open CV学习记录(三)——创建、采集新图像
- Open CV学习记录(四)——Sfm、SIFT、压缩感知
- Open CV学习记录(九)——仿射变换
- 自定义GridView显示行分割线
- x264使用示例
- 自增和自减运算
- 02搭建一个简单的spring项目
- Parallel类学习
- Open CV学习记录(十七)—从图上显示某点的坐标
- 集合实现同步 : Collections.synchronizedXXX
- androud 常用组件
- 敏捷开发系列学习总结(6)——你用什么工具管理项目
- HTML文件中表格(Table)标记的常用属性
- Android APK的数字签名的作用和意义
- banana pi BPI-Webduino Smart 物联网无线控制模块
- 加快Android studio gradle 速度
- commons-collections