查找图像中扭曲的矩形(OpenCV)

2024-03-28

我正在寻找合适的算法来解决这个图像处理问题:

  • 我有一个扭曲的二值图像,其中包含一个扭曲的矩形
  • 我需要找到这个矩形的 4 个角点的近似值

我可以使用 OpenCV 计算轮廓,但由于图像扭曲,它通常会包含超过 4 个角点。 是否有一个好的近似算法(最好使用 OpenCV 运算)来使用二值图像或轮廓描述找到矩形角点?

图像如下所示:

Thanks!

Dennis


Use CVApproxPoly http://opencv.willowgarage.com/documentation/structural_analysis_and_shape_descriptors.html#approxpoly函数消除轮廓的节点数量,然后过滤掉那些节点过多或角度与 90 度相差很大的轮廓。也可以看看类似的答案 https://stackoverflow.com/questions/6134109/how-do-i-find-a-rectangle-in-a-photo-using-iphone/6134693#6134693

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找图像中扭曲的矩形(OpenCV) 的相关文章

  • 是否可以使用 opencv 将旋转图像复制到另一个图像的旋转矩形 ROI 中?

    好吧 很抱歉再次问几乎相同的问题 但我已经尝试了很多方法 但我仍然无法做我想做的事情 我什至不确定单独使用 opencv 是否可行 我旋转了一个图像 我想将其复制到另一个图像中 问题是 无论我以何种方式裁剪这个旋转图像 它总是复制到第二个图
  • 在 Python 中用交替颜色填充轮廓

    我正在尝试获得一种用交替颜色填充图像轮廓的算法 首先是白色 然后是黑色 然后再次白色 然后再次黑色 就像下图所示 到目前为止 我所取得的成就是用白色填充图像的轮廓 然后用黑色保留图像内部的轮廓 代码如下 import numpy as np
  • OpenCV 3.0.0 使用 FFMPEG 时出错

    我使用 OpenCV 一段时间了 但是 我最近将系统更改为没有任何管理员权限的集群 问题是这样的 在我的主文件夹中 我安装了 FFMPEG ffmpeg 网站上提供的最新稳定版本 我将它安装在 HOME 中 因此在 HOME lib 中安装
  • 如何使用浮点数组中的数据初始化 cv::Mat

    我需要创建一个cv Mat用我的数据初始化的变量float 大批 这应该是基本的 但我很难弄清楚 我有代码 float matrixAB lt 120 floating point array created elsewhere gt cv
  • 如何从opencv中的轮廓中提取简单的几何形状

    我有一个Mat contours我已经近似了每个contour with approxPolyDP 我现在想做的是检测矩形 三角形 圆形等形状 以及例如用不同的颜色或使用画布等重新绘制它们 有没有办法利用轮廓 我如何访问点Mat conto
  • 如何使用 opencv 从字节显示视频?

    我正在开展一个项目 其中我们使用无线电调制解调器将数据 视频和遥测 从无人机传输到地面站 我们需要做的是实时显示视频 并能够知道 C 中的每一块遥测数据对应哪一帧 数据被解封装为遥测和视频 mpeg4 字节 由于我对 OpenCV 有一些经
  • python中图像的几何扭曲

    我想使用 python 对图像执行几何变换 以沿给定曲线 拉直 或校正图像 似乎 scikit imageProjectiveTransform and warp 对此非常有用 但文档很少 我按照文档进行操作here http scikit
  • 图像中土壤颗粒分水岭以外的替代分割技术

    我正在寻找一种替代方法来分割以下土壤颗粒图像中的颗粒 而不是Python中的分水岭分割 因为它可能会误导对颗粒的正确检测 此外 我正在研究边缘检测图像 使用HED算法 作为附加 我希望找到一种更好的方法来分割颗粒以进行进一步处理 因为我想获
  • 使用 Python 和 OpenCV 改善图像歪斜校正

    我生成的用于检测和纠正偏差的代码给了我不一致的结果 我目前正在开展一个项目 该项目利用图像上的 OCR 文本提取 通过 Python 和 OpenCV 因此如果需要准确的结果 消除倾斜是关键 我的代码使用cv2 minAreaRect来检测
  • 打开 CV 通用 Mat 函数头

    在 OpenCV 中 访问一个像素是很常见的 Mat像这样的对象 float b A at
  • Python边缘检测和曲率计算

    我知道边缘检测问题之前已经发布过 在Java中 计算图像中对象的数量 https stackoverflow com questions 2952165 count the number of objects in an image 与语言
  • 在白色背景上将透明 PNG 保存为 JPEG

    假设我有一张 BGRA 图像numpy数组看起来非常像这样 233 228 230 128 233 228 230 128 233 228 230 0 164 160 159 65 199 197 196 65 255 255 254 12
  • 同时使用两个数组中的元素的过滤器

    假设我们有两个大小相同的数组 A and B 现在 我们需要一个过滤器 对于给定的掩码大小 从以下位置选择元素A 但删除掩码的中心元素 并在其中插入相应的元素B 所以 3x3 伪掩码 看起来类似于 A A A A B A A A A 对平均
  • 使用opencv在灰度图像中绘制彩色矩形

    是否可以使用opencv在灰度图像中绘制彩色矩形 我尝试了几种方法 但整个图像要么变成灰度 要么变成 RGB 您不能获得混合的灰色和彩色图像 你可以看看有没有办法在同一图像opencv C 上同时拥有灰度和RGB像素 https stack
  • 水平计数加工织物中的白色簇

    我对织物材质进行了处理 得到如下图所示的图像 原图 处理后的图像 现在 我想找到连续的白色簇的数量 如果所有簇都是均匀且完全水平的 我将运行一个循环来计算强度的上升和下降 以找到簇的数量 但事实并非如此 如果我通过上述方法取几行的中值 平均
  • 有没有办法使用 asp.net mvc 从 3 个图像 URL 中制作一张图像?

    我想构建一个类似于 nametest 或 Meaww 的 facebook 应用程序 并且几乎成功地让我的 API 调用 Facebook Graph API 并从 facebook 返回数据 让我困惑的是上述 Web 应用程序的 UI 当
  • 使用高斯混合模型进行皮肤检测

    我正在根据以下进行皮肤检测算法本文 http www cc gatech edu rehg Papers SkinDetect IJCV lowres pdf 第 21 页有两个模型 高斯皮肤混合模型和非皮肤颜色模型 第一个皮肤检测模型效果
  • Tkinter 嵌套主循环

    我正在写一个视频播放器tkinter python 所以基本上我有一个可以播放视频的 GUI 现在 我想实现一个停止按钮 这意味着我将有一个mainloop 对于 GUI 还有另一个嵌套mainloop 播放 停止视频并返回 GUI 启动窗
  • 在进行字符识别之前使用 OpenCV 进行图像预处理(超正方体)

    我正在尝试开发简单的 PC 应用程序用于车牌识别 Java OpenCV Tess4j 图像不是很好 进一步它们会很好 我想对超立方体图像进行预处理 但我被困在车牌检测 矩形检测 上 我的步骤 1 源图像 Mat img new Mat i
  • 从彩色背景中提取黑色对象

    人眼很容易辨别black来自其他颜色 但是计算机呢 我在普通的A4纸上打印了一些色块 由于组成彩色图像有青色 品红色和黄色三种墨水 所以我设置每个块的颜色C 20 C 30 C 40 C 50 以及其余两种颜色是 0 这是我的源图像的第一列

随机推荐