比如下面这张图,如何确定张爱玲图片的四个顶角坐标并提取出它的图片?
我只能得到它的轮廓图,不能确定坐标😭😭
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

如何用Python+opencv提取图片中矩形顶点的坐标位置
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
3条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
ilmss 2022-02-09 08:17关注先进行边缘检测:
假设
CANNY_THRESH_1 = 90
CANNY_THRESH_2 = 120
edges = cv2.Canny(gray, CANNY_THRESH_1, CANNY_THRESH_2)
edges = cv2.dilate(edges, None, iterations=3)
edges = cv2.erode(edges, None, iterations=1)
边缘特征比较明显,不同的图片系数差别不大。当前系数效果可以使用。更细的参数没有调整。
另外做了一些放大和腐蚀,把不需要的一些小的文字区域过滤掉了。方便过滤不需要的轮廓。然后提取轮廓:
查找轮廓
contours, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
显示所有轮廓
mask = np.zeros(img.shape)for c in contours:
过滤小面积
if (cv2.contourArea(c) < scale ** 2):
continue
cv2.drawContours(mask, [c], 0, (0, 0, 255))cv2.imshow('contours', mask)
关于函数findContours介绍可以参考:https://www.cnblogs.com/yiyi20120822/p/11506970.html提取到的轮廓后用一个比较单间的最小包围矩形就能得到想要的结果。
最后提取矩形获取顶点:
rect = cv2.minAreaRect(cnt)box = cv2.boxPoints(rect)box = np.int0(box)
就可以得到顶点坐标本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 5无用 1举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容

- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
- 2019-09-27 14:57回答 3 已采纳 如果只是简单的处理下,比如说根据颜色信息判断然后对特定位置重新赋值,那只会得到很粗糙的效果,比如:
- 2022-02-14 13:55回答 3 已采纳 废话不多说,直接上代码 import cv2 import numpy as np def cv_show(neme, img): cv2.imshow(neme, img)
- 2021-12-20 05:37回答 1 已采纳 缩进?你缩进不对的话就会导致你的str——encode是空的,这也就是报错里面提示你说图片为空不能imshow
- 2020-09-16 10:36### Python3 + OpenCV 获取图片中文本区域的最小外接矩形 #### 一、引言 在图像处理领域,经常需要对图像中的文本区域进行定位。这些应用场景包括但不限于文档扫描、车牌识别、屏幕文字抓取等。OpenCV 是一个强大的...
- 2023-02-16 14:39回答 3 已采纳 该回答引用ChatGPT在下载OpenCV时,有些版本不包含可执行文件 opencv_createsamples.exe 和 opencv_traincascade.exe,这些文件在 OpenCV
- 2021-06-28 12:05回答 2 已采纳 这个opencv有个轮廓检测,弱化连接。你去搜一下opencv做玉米粒技术的。这个地址你看一下: https://blog.csdn.net/weixin_43330089/article/deta
- 2021-12-31 09:33回答 1 已采纳 waitKey就是刷新图像的方法呀,waitKey(30)表示每30毫秒刷新一帧,我们看到的视频其实都是一帧一帧连起来形成的,然后这个方法返回值是当前键盘按下的值。然后第二个问题,因为它本质是一个方法
- 2020-09-19 21:224. 判断旋转方向:根据矩形顶点的位置关系判断是顺时针还是逆时针旋转。这会影响到旋转后的坐标调整。 5. 旋转图像:使用`cv2.getRotationMatrix2D`函数创建旋转矩阵,然后用`cv2.warpAffine`进行实际的图像旋转。...
- 2018-11-10 14:29qkyo的博客 【Python+OpenCV】基于Harris角点的边缘提取以及矩形四角点检测开始之前必须要说的一些事一、参考文章二、实验目标三、局限性声明开始说正事了,所以标题一定要比第一个一级标题长一、思路(一)基于Harris角点检测...
- 2020-09-16 03:52在OpenCV中,提取图像中的矩形区域是一个常见的任务,特别是在图像处理和计算机视觉领域。以下将详细解释如何实现这个过程,以及代码中涉及的关键步骤。 首先,我们需要导入必要的库,如`numpy`和`opencv-python`...
- 2020-09-03 07:48SimyHsu的博客 python+opencv获取最小外接矩形环境代码效果 环境 python版本:3.8 opencv版本:4.3.0.36 代码 from PIL import Image from pylab import * import cv2 import numpy as np # 读取图像到数组中 im = array(Image....
- 没有解决我的问题, 去提问
问题事件
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司