opencv检测图像中的矩形(opencv 特征提取)

技术opencv3.0识别并提取图形中的矩形的方法是什么这篇文章将为大家详细讲解有关opencv3.0识别并提取图形中的矩形的方法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有

本文将详细解释opencv3.0如何识别和提取图形中的矩形。这篇文章的内容质量很高,所以边肖会分享给大家参考。希望你看完这篇文章后有所了解。

使用opencv识别图片中的矩形。

其中遇到的主要问题是矩形内部的形状导致轮廓不闭合。

1.高斯滤波输入灰度图像2。制作灰度直方图,提取阈值和二值化3。提取图像的轮廓4。识别图像5中的矩形。提取图像中的矩形。

1.对输入灰度图像进行高斯滤波。

CV : mat src=CV : im read(' f : \ \ t 13 . BMP ',CV _ BGR2GRAY);cv:Mat hsvgaussianbulr(src,hsv,cv :3360 size(5,5),0,0);

2.制作灰度直方图,提取阈值,做二值化。

给定图片,背景为黑色,矩形的背景颜色为灰色,矩形中的其他一些形状为白色。可以称为:提取轮廓时,矩形的外轮廓不闭合。因此,我们需要对整个画面做一个灰度直方图,找到阈值并进行二值化。

把手。也就是说,如果像素值(黑色)小于阈值,将其设置为0(纯黑色);如果像素值(灰色和白色)大于阈值,则设置

设置为255(白色)

//将灰度量化到30级int gbins=16int HistSize[]={ gbins };

//灰度从0到256浮动灰度[]={0,256 };

const float * ranges[]={ granges };cv:MatND和hist

//我们从第0个和第1个通道计算直方图int channel[]={ 0 };

//计算hist calcHist(hsv,1,通道,cv:Mat(),

//不要使用掩码hist,1,histSize,ranges,true,

//直方图均匀假);

//求hist double maxVal=0的最大值;

minMaxLoc(hist,0,maxVal,0,0);int scale=20

cv:Mat毫安时组织;

histImg.create(500,gbins*scale,CV _ 8UC 3);

//显示hist图像的灰度(int g=0;ggbinsg ){

float binVal=hist.atfloat(g,0);

int intensity=cvRound(BinVal * 255);

矩形(组图,cv:Point点(g *比例尺,0),

CV : point((g ^ 1)* scale-1,binVal/maxVal*400),CV_RGB(0,0,0),CV _ FILLED);} cv : im show(' Histmg ',Histmg);

//阈值处理cv:Mat hsvRe

阈值(hsv,hsvRe,64,255,cv : thresh _ BInary);

3.提取图片的轮廓

为了识别图片中的矩形,在识别之前需要提取图片的轮廓。经过滤波和二值化后,轮廓提取后的效果比提取前好得多。

识别矩形

矩形识别的条件是:图片中识别出的轮廓是四个顶角的凸边形状,所有顶角的角度都是90度。

矢量点约;for(size _ t I=0;I等高线. size();I){ 0

近似值(Mat(等高线[i]),近似值,弧长(Mat(等高线[i]),真)*0.02,真);

if(约大小()==4个晶圆厂(contourArea(Mat(约)))1000 iscon sourconvex(Mat(约))){ doublemax余弦=0;

for(int j=2;j5;j ) {双余弦=fabs(角度(约[j%4],约[j-2],约[j-1]);

最大余弦=最大(最大余弦,余弦);}

if(最大余弦值0.3)平方,push_back(近似值);

} }

opencv3.0中识别和提取图形中矩形的方法是什么,希望在这里分享

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/147367.html

(0)

相关推荐

  • Java的三大版本有什么区别

    技术Java的三大版本有什么区别这篇文章主要介绍“Java的三大版本有什么区别”,在日常操作中,相信很多人在Java的三大版本有什么区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Jav

    攻略 2021年11月24日
  • 隐藏IP地址有哪些好处

    技术隐藏IP地址有哪些好处本篇内容主要讲解“隐藏IP地址有哪些好处”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“隐藏IP地址有哪些好处”吧!  1、隐藏位置信息  隐藏您的I

    攻略 2021年11月19日
  • 0337-打家劫舍III

    技术0337-打家劫舍III 0337-打家劫舍III在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一

    礼包 2021年12月3日
  • 变脸是什么剧,究竟什么样的脸才称得上剧抛脸

    技术变脸是什么剧,究竟什么样的脸才称得上剧抛脸我觉得剧抛脸可以提名任嘉伦变脸是什么剧。所谓的剧抛脸就是同一个演员,他在演任何一部戏的时候没有他本人的影子。也没有他上一部作品的影子,演的就是这部作品中的角色。每演一部作品不

    生活 2021年10月29日
  • 荸荠怎么煮,赤豆煮荸荠的制作方法是怎样的

    技术荸荠怎么煮,赤豆煮荸荠的制作方法是怎样的制作赤豆煮荸荠的原料有:赤豆100克,荸荠100克,料酒10毫升,姜5克,葱10 克,盐3克,鸡精3克,鸡油30毫升荸荠怎么煮。制作方法:(1 )将赤豆去泥沙,洗净;荸荠去皮,

    生活 2021年10月26日
  • 在Mac下怎么快速重置mysql root密码

    技术在Mac下怎么快速重置mysql root密码这篇文章将为大家详细讲解有关在Mac下怎么快速重置mysql root密码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

    攻略 2021年10月29日