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

Opencv手工选择图片区域去水印

QT 插件化图像算法研究平台的功能在持续完善,补充了一个人工选择图片区域的功能。

其中,图片选择功能主要代码如下:

QRect GLImageWidget::getSeleted()
{QRect ajust(0,0,0,0);if(image.isNull() || !hasSelection)return ajust;double w=1.0* imageSize.width()/ adaptImageSize.width();double h=1.0* imageSize.height()/ adaptImageSize.height();ajust.setLeft((selection.left()-leftPos)*w/scaleVal);ajust.setWidth(selection.width()*w/scaleVal);ajust.setTop((selection.top()-topPos)*h/scaleVal);ajust.setHeight(selection.height()*h/scaleVal);return ajust;
}

需要考虑因素:图片原始大小、窗口大小、图片显示在窗口的大小、图片在窗口的移动位置、图片在窗口的缩放、用户在窗口上框选的矩阵。

手工选择图片区域去水印 效果如下:左上角人工框选处的文字给去除了。

主要代码参考如下:

void deWaterMarkSelection(Mat &input,Mat &output,Mat &src,string)
{auto selectRect= processWinGetSelection();if(selectRect.width()==0){output=input;return;}Mat mask = Mat::zeros(input.size(), CV_8U);auto topLeft=selectRect.topLeft();auto bottomRight=selectRect.bottomRight();Point rookPoints[1][4];rookPoints[0][0] =Point(topLeft.x(),topLeft.y());//左上角rookPoints[0][1] = Point(bottomRight.x(),topLeft.y());//右上角rookPoints[0][2] = Point(bottomRight.x(),bottomRight.y());//右下角rookPoints[0][3] =Point(topLeft.x(),bottomRight.y());//左下角int npt[]={4};//二维数组 每列长度const Point* ppt[1] = {rookPoints[0]};//所有多边形点坐标fillPoly(mask, ppt, npt, 1, Scalar::all(255));//使用inpaint进行图像修复Mat result;inpaint(src, mask, output, 1, INPAINT_NS);
}

http://www.lryc.cn/news/149866.html

相关文章:

  • 《向量数据库》——向量数据库跟大模型是什么关系呢?
  • 通过这 5 项 ChatGPT 创新增强您的见解
  • W5500-EVB-PICO主动PING主机IP检测连通性(十)
  • 解释基本的3D理论
  • C# 练习题
  • 解决Linux报错:Swap file “xxxxxx.swp“ already exists
  • 基于飞桨图学习框架的空间异配性感知图神经网络
  • Springboot整合JWT
  • 如何使用Python和正则表达式处理XML表单数据
  • LA@方阵相似@相似矩阵的性质
  • ZLMediaKit 各种推拉流
  • 行业追踪,2023-08-29
  • 【简单】228. 汇总区间
  • Mysql高级语句
  • Python中 re.compile 函数的使用
  • 【分布式搜索引擎es】
  • 单片机的ADC
  • 如何把pdf文件合并?分享最新pdf合并方法
  • 笙默考试管理系统-MyExamTest----codemirror(11)
  • Spring MVC 五 - Spring MVC的配置和DispatcherServlet初始化过程
  • Ramp 有点意思的题目
  • 算法通关村14关 | 堆在数组中找第k大的元素应用
  • Unity 顶点vertices,uv,与图片贴图,与mesh
  • Shell编程之函数
  • 10.物联网LWIP之TCP状态转变
  • Img标签的src地址自动拼接本地域名(localhost:8080)导致图片不显示问题
  • 数据结构入门 — 栈
  • Unity Android 之 在Unity 中引入 OkHttp的操作注意(OKHttp4.xx- kotlin 的包)简单记录
  • 内嵌功能强大、低功耗STM32WB55CEU7、STM32WB55CGU7 射频微控制器 - MCU, 48-UFQFN
  • 【测试】笔试03