资源简介
使用 OpenCV 装入一幅彩色图像,并显示该图像。然后在源图像
窗口中使用鼠标选取一个矩形区域(可通过两次按下鼠标左键选取矩形的
两个对角顶点来实现),并在结果图像窗口中显示源图像中被选取的部分。
代码片段和文件信息
#include
#include
#include
IplImage* src = 0;
IplImage* tmp = 0;
IplImage* tmp1 = 0;
IplImage* org = 0;
void on_mouse( int event int x int y int flags void* ustc)
{
static CvPoint pre_pt = {-1-1};
static CvPoint cur_pt = {-1-1};
CvFont font;
cvInitFont(&font CV_FONT_HERSHEY_SIMPLEX 0.5 0.5 0 1 CV_AA);//初始化字体
char temp[16];
if( (event == CV_EVENT_LBUTTONDOWN)&&(flags) )//鼠标左键按下时
{
sprintf(temp“(%d%d)“xy);//格式化字符串
pre_pt = cvPoint(xy);//获取当前点坐标值
cvPutText(srctemp pre_pt &font cvScalar(00 0 255));//在图像是打印字符
cvCircle( src pre_pt 2cvScalar(255000) CV_FILLED CV_AA 0 );//在图像上画圆
cvShowImage( “src“ src );
//cvCopy(srctmp);//这句有没有,就是单目标和多目标的问题
}
else if( (event == CV_EVENT_MOUSEMOVE) && (flags & CV_EVENT_LBUTTONDOWN))
{//鼠标移动并且鼠标左键按下
sprintf(temp“(%d%d)“xy);//格式化字符串
cur_pt = cvPoint(xy);//获取当前点坐标值
cvPutText(srctemp cur_pt &font cvScalar(00 0 255));//在图像是打印字符
cvRectangle(src pre_pt cur_pt cvScalar(025500) 2 8 0 );//在图像上画矩形
cvShowImage( “src“ src );
cvCopy(tmpsrc);//将img复制到临时图像tmp上,用于实时显示
}
else if( event == CV_EVENT_LBUTTONUP )
{//鼠标左键弹起
sprintf(temp“(%d%d)“xy);//字体格式化
cur_pt = cvPoint(xy);//获取当前点坐标值
cvPutText(srctemp cur_pt &font cvScalar(00 0 255));//在图像是打印字符
cvCircle( src cur_pt 2cvScalar(255000) CV_FILLED CV_AA 0 );//在图像上画圆
cvRectangle( src pre_pt cur_pt cvScalar(025500) 2 8 0 );//在图像上画矩形
cvShowImage( “src“ src );
/******************************************************************/
int width=abs(pre_pt.x-cur_p
- 上一篇:图的建立与遍历c++实现邻接矩阵存储
- 下一篇:mfc生成excel-pdf图表
相关资源
- 车道线识别源码
- 基于opencv园检测
- 植物大战僵尸基于OpenCv和C++实现
- OPENCV角点检测
- opencv标志识别
- 基于轮廓的倾斜仪表校正
- 在opencv中将两个图像给融合,让图像
- 使用OpenCV编写一个程序,该程序完成
- 使用 OpenCV 编制一个简单的徒手绘图程
- OpenCV解决PnP问题
- 基于opencv3.2的Moravec、Forstner、Harris算
- opencv+udp+c++ 的摄像头实时传输显示源
- MFC中嵌入显示opencv图像
- opencv调用海康摄像头
- 激光雷达数据读取以及显示C++需配置
- OpenCV在TI 达芬奇以及OMAP平台下的移植
- 双目视觉匹配得到视差图
- CvImgCtrl 演示程序
- 用OpenCV实现Photoshop色阶调整算法
- 贝叶斯抠图C++源代码
- emgucv&opencv图像处理函数说明
- opencv实现分水岭算法
- 人工势场法C++版及利用opencv(or matl
- OpenCV+C++图像处理项目14个
- 用VS2015+opencv3.4.2+C++编写Yolov3目标检测
- 计算图像的平均灰度值
- OpenCV2.4.8
- 基于opencv的人脸识别程序-代码详解
- OpenCV通过直方图均衡化增强图像对比
- OpenCV种子填充实现彩色图像分割的代
评论
共有 条评论