#include "cv.h"
#include "highgui.h"
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
Point pt ,po;
Mat img0, img,mask,gray,gray0;
Mat forgery;
Mat mask_gray;
void on_mouse(int event, int x, int y, int flags, void* yybird )
{
if (!img.data) { printf("image is empty!\n"); return; }
if (event == CV_EVENT_LBUTTONUP || !(flags & CV_EVENT_FLAG_LBUTTON))/*初始化坐标*/
{
pt = Point(x, y);
//上一个坐标点
po= Point(-1, -1);
}
else if(event == CV_EVENT_LBUTTONDOWN )
po= Point(x, y);
/*画出封闭图形*/
else if(event == CV_EVENT_MOUSEMOVE && (flags & CV_EVENT_FLAG_LBUTTON))
{
Point pt = Point(x,y);
if (po.x < 0) { po = pt; }//处理第一次
line(img,po,pt,Scalar(0,0,255),1,8,0);
line(mask,po,pt,Scalar(255,255,255),1,8,0);
//坐标点传递
po= pt;
imshow("image", img);
imshow("mask",mask);
}
if (event==CV_EVENT_RBUTTONUP)//右击选择框图 EVENT_RBUTT
利用感兴趣区域,扣取区域并把背景设置为白色
最新推荐文章于 2024-09-23 08:30:56 发布
本文介绍了一种方法,通过定义感兴趣区域(ROI)来精确地从图像中提取特定区域,并将背景替换为白色,适用于图像处理和分析任务。
摘要由CSDN通过智能技术生成