社区
模式及实现
帖子详情
如何根据图像拟合一个矩形框
xubinlife
2016-05-24 02:09:02
如图,
每种颜色代表一个数值,即假设红色部分像素值均为1,如何根据红色区域确定红色所在矩形框的坐标呢,红色不一定连续,确定大致区域即可,如:
请问如何实现呢?
...全文
1900
3
打赏
收藏
如何根据图像拟合一个矩形框
如图, 每种颜色代表一个数值,即假设红色部分像素值均为1,如何根据红色区域确定红色所在矩形框的坐标呢,红色不一定连续,确定大致区域即可,如: 请问如何实现呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
NightMare_Qi
2017-09-14
打赏
举报
回复
楼主解决没?这个该怎么弄?
xubinlife
2016-05-24
打赏
举报
回复
引用 1 楼 zhao4zhong1 的回复:
全图扫描一遍,记录所有红色像素所在坐标X,Y对应的minX,minY和maxX,maxY即所求。
赵4老师,我之前可能没有表述清楚,红色像素并不像上图一样刚好都在矩形区域内,可能在图像其它位置也存在红色像素(需要抛弃 ),这种情况下找最大值最小值是不合理的。关键问题在于如何确定车厢所在的正确的矩形。
赵4老师
2016-05-24
打赏
举报
回复
全图扫描一遍,记录所有红色像素所在坐标X,Y对应的minX,minY和maxX,maxY即所求。
利用python,
图像
中
矩形
框识别替换,预处理,边缘检测,投影变换,opencv
实现任意角度拍摄的
矩形
物体,通过一系列数字
图像
处理,把另外一张目标
图像
替换拍摄的
矩形
框。 难点一:
矩形
边框的检测识别(噪声) 针对难点一:
拟
采用边缘检测检测像素突变点提取边缘线条+轮廓提取+
拟
合
外接四边形寻找轮廓中满足面积条件的四边形。考虑到拍摄
图像
有很多噪点干扰,采用中值滤波进行平滑处理,过滤椒盐噪声。设定
矩形
区域面积阈值,去除不满足条件轮廓,对轮廓进行多边形
拟
合
迭代,直到
拟
合
成四边形,并排序输出四个点坐标。 ②难点二:由于相机平面很难与物体平面平行,所以
矩形
区域是形变的
矩形
。 针对难点二:
拟
采用投影变换,利用getPerspectiveTransform函数求出变换矩阵M,再用M将代替换
图像
投影变换到
矩形
区域,其余面积像素为0,以便后续图片融
合
相加。
使用OpenCV检测
图像
中的
矩形
本文实例为大家分享了OpenCV检测
图像
中
矩形
的具体代码,供大家参考,具体内容如下 前言 1.OpenCV没有内置的
矩形
检测的函数,如果想检测
矩形
,要自己去实现。 2.我这里使用的OpenCV版本是3.30.
矩形
检测 1.得到原始
图像
之后,代码处理的步骤是: (1)滤波增强边缘。 (2)分离
图像
通道,并检测边缘。 (3) 提取轮廓。 (4)使用
图像
轮廓点进行多边形
拟
合
。 (5)计算轮廓面积并得到
矩形
4个顶点。 (6)求轮廓边缘之间角度的最大余弦。 (7)画出
矩形
。 2.代码 //检测
矩形
//第一个参数是传入的原始
图像
,第二是输出的
图像
。 void findSquares(const M
利用python ---
图像
中
矩形
框识别替换
转灰度
图像
--->中值滤波---->转为二值
图像
--->边缘检测----->提取轮廓---->对每个轮廓
拟
合
外接四边形,找到四个点--->对四个点排序---->求投影变换矩阵M----->用M将图2投影到
矩形
区域----->用掩膜运算将原始
图像
的替换区域换成像素为0的黑色区域----->两
图像
相加得到替换图。
最小面积
矩形
拟
合
OpenCV在轮廓
拟
合
中支持两个轮廓外接
矩形
求取函数,它们分别是:boundingRect与minAreaRect,对同一个轮廓,它们运行结果显示如下: 其中绿色是运行boundingRect函数返回得到
矩形
框,红色是运行minAreaRect返回得到
矩形
框。白色区域是二值
图像
的轮廓。这两个函数的详细解释如下: Rect cv::boundingRect( InputArray array // 轮廓点 ) 返回的
矩形
Rect对象; RotatedRect cv::minAreaRect(
OpenCV-Python——第17.3章:轮廓形状
拟
合
(边界
矩形
,最小外接圆...)及性质
目录 边界
矩形
最小外接圆 椭圆
拟
合
直线
拟
合
轮廓性质 综
合
举例 轮廓形状
拟
合
1 边界
矩形
1.1 直边界
矩形
一个直
矩形
(就是没有旋转的
矩形
)。它不会考虑对象是否旋转。 所以边界
矩形
的面积不是最小的。可以使用函数 cv2.boundingRect() 查找得到。 (x,y)为
矩形
左上角的坐标,(w,h)是
矩形
的宽和高。 x,y,w,h = cv...
模式及实现
5,530
社区成员
4,169
社区内容
发帖
与我相关
我的任务
模式及实现
C/C++ 模式及实现
复制链接
扫一扫
分享
社区描述
C/C++ 模式及实现
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章