当前位置: 首页 > news >正文

锦州网站建设排行榜wordpress个人网站模板

锦州网站建设排行榜,wordpress个人网站模板,.net 网站 调试,做网站文案引言 在图像处理过程中#xff0c;提取感兴趣区域#xff08;ROI#xff09;并在其上进行处理后#xff0c;往往需要将处理后的结果映射回原图像。这一步通常涉及以下几个步骤#xff1a; 找到最小外接矩形#xff1a;使用 cv::boundingRect 或 cv::minAreaRect 提取感兴…引言 在图像处理过程中提取感兴趣区域ROI并在其上进行处理后往往需要将处理后的结果映射回原图像。这一步通常涉及以下几个步骤 找到最小外接矩形使用 cv::boundingRect 或 cv::minAreaRect 提取感兴趣区域的最小外接矩形。 从原图中提取 ROI根据矩形坐标从原图中剪切出 ROI 进行处理。 在 ROI 上进行处理对提取出的 ROI 进行特定的图像处理操作。 将处理后的 ROI 映射回原图将处理后的结果重新放置回原图的相应位置。 鼠标选取区域 可以使用OpenCV和C来通过鼠标绘制多边形并确定闭合点。功能通过捕捉鼠标事件来实现。绘制多边形时当点击的点接近第一个点时可以自动将多边形闭合。 在绘制多边形并将其闭合后通过OpenCV的 minAreaRect 函数来计算该多边形的最小外接矩形。 #include opencv2/opencv.hpp #include iostream #include vectorusing namespace cv; using namespace std;vectorPoint points; // 存储鼠标点击的点 bool drawing false; // 是否正在绘制 const int CLOSE_DISTANCE 10; // 闭合多边形的最小距离// 判断当前点是否接近第一个点 bool isCloseToFirstPoint(Point p) {if (points.empty()) return false;return norm(p - points[0]) CLOSE_DISTANCE; }// 鼠标回调函数 void onMouse(int event, int x, int y, int, void* param) {Mat image *(Mat*)param;if (event EVENT_LBUTTONDOWN) {Point p(x, y);if (isCloseToFirstPoint(p) points.size() 2) {// 如果点接近第一个点并且有至少三个点则闭合多边形points.push_back(points[0]);polylines(image, points, true, Scalar(0, 255, 0), 2); // 闭合并绘制多边形// 计算最小外接矩形RotatedRect minRect minAreaRect(points);// 获取矩形的4个顶点Point2f rect_points[4];minRect.points(rect_points);// 绘制最小外接矩形for (int i 0; i 4; i) {line(image, rect_points[i], rect_points[(i 1) % 4], Scalar(255, 0, 0), 2);}imshow(Image, image); // 显示最终结果drawing false;} else {// 否则继续添加点drawing true;points.push_back(p);}} else if (event EVENT_MOUSEMOVE drawing) {Mat tempImage image.clone(); // 创建临时图像用于显示if (!points.empty()) {polylines(tempImage, points, false, Scalar(255, 0, 0), 2); // 画多边形line(tempImage, points.back(), Point(x, y), Scalar(255, 0, 0), 2); // 绘制最后一条线}imshow(Image, tempImage);}else if (event EVENT_RBUTTONDOWN !points.empty()) {// 右键按下重置并清除所有点points.clear();image Mat::zeros(image.size(), image.type()); // 重置图像imshow(Image, image);drawing false;} }int main() {// 创建空白图像Mat image Mat::zeros(Size(800, 600), CV_8UC3);// 设置鼠标回调namedWindow(Image, WINDOW_AUTOSIZE);setMouseCallback(Image, onMouse, image);// 显示图像并等待退出imshow(Image, image);waitKey(0);return 0; }按最小外接矩形剪切图像 bool is_rotated_rect(const cv::RotatedRect rect) {// 检查中心点是否在合理范围内if (rect.center.x 0 rect.center.y 0){return false;}// 检查宽度和高度是否为正值if (rect.size.width 0 || rect.size.height 0){return false;}// 如果以上条件都满足可以认为矩形是有效的return true; }bool cut_rotate_roi(cv::Mat cv_src, cv::RotatedRect minRect, cv::Mat cv_roi) {if (is_rotated_rect(minRect)){cv::Mat M cv::getRotationMatrix2D(minRect.center, minRect.angle, 1.0);cv::Mat rotated;// 应用仿射变换 warpAffine使用三次插值INTER_CUBIC图像旋转。旋转结果存储在 rotated 中。cv::warpAffine(cv_src, rotated, M, cv_src.size(), cv::INTER_CUBIC);// 裁剪旋转矩形区域cv::getRectSubPix(rotated, minRect.size, minRect.center, cv_roi);return true;}return false; }实现效果
http://www.yayakq.cn/news/5793/

相关文章:

  • 秦皇岛做网站公司汉狮价格wordpress编辑器定义
  • 广州网站建设怎么做许昌网站推广公司
  • 网站如何优化一个关键词网站app开发一站式服务
  • 电商网站运营怎么做网站建设 系统 排名
  • 网站更改对内部网站建设的意见和建议
  • wap网站开发视频教程网站优化网站
  • 网站域名已经解析但没有被百度等搜索引擎收录怎么办网站建设后端前端
  • 社交网站建设流程中国空间站研究项目
  • 网站运营与管理的对策建议虹口建设机械网站
  • 打开上次浏览的网站模板网站选项按钮
  • 做电影网站怎么批量去水印北京出名做网站的公司
  • 上海网站seo社交信息共享网站开发外包
  • 网站建设报价方案模板最近一两天的新闻有哪些
  • o2o分销系统网站建设网站用户运营
  • 网站怎么做图片动态图片大全公司公众网站微信平台建设方案
  • 企业网站php源码公司宣传网站
  • 本溪北京网站建设wordpress 图片放大
  • 深圳外贸网站外贸网站建设仿牌网站容易被攻击吗
  • 象山县建设局网站马鞍山市直网站集约化建设
  • 做视频网站需要多大的带宽wordpress添加自动关键词内链
  • 网站集约化建设存在的困难室内设计需要什么学历
  • 尼高网站设计公司网站开发运营推广叫什么
  • ae模板精品站互联网培训班
  • 宁波网站建设明细报价上海松江水处理网站建设
  • 信阳专业做网站公司网站制作推广需要多少钱
  • 莱芜住房和城乡建设部网站邯郸广告公司网站建设
  • 众筹网站建设报价春雨app直播免费版下载
  • 微信网站公众平台太原网站建设策划方案
  • 建设心理网站的背景网站建设常用代码
  • 全栈网站开发在哪租用网站