最近在用OpenCV做一个项目,查找cvBoundingRect时候没有找到比较好的例子,在此为了方便大家,贴出一段代码利用cvBoundingRect的例子。

CvMemStorage* storage1 = cvCreateMemStorage( 0 );CvSeq* contour = NULL;IplImage *imgTemp = cvCloneImage( dilateImage );       cvFindContours( imgTemp, storage1, &contour, sizeof( CvContour ), CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE);int ContoursCount = 0;IplImage *TrangleImage = cvCloneImage(inTopView);int height  =TrangleImage->height;  int width   =TrangleImage->width;  int step    =TrangleImage->widthStep;  int channels=TrangleImage->nChannels; outCarSegment.CarRect.clear();for( ; contour != NULL; contour = contour -> h_next){CvRect rect = cvBoundingRect(contour, 0);if (rect.width > 20 && rect.height > 20){cvRectangle( TrangleImage, cvPoint( rect.x, rect.y ),cvPoint( rect.x + rect.width, rect.y + rect.height ), CV_RGB(255,0,0), 1, 8, 0);ContoursCount++;outCarSegment.CarRect.push_back(rect);}       }cvSaveImage("FindContours.png", TrangleImage);

我的这段例子只是取物体外边框,需要取物体内边框的可以参照找一篇文章:http://blog.csdn.net/honpey/article/details/8575507;

OpenCV cvBoundingRect应用举例相关推荐

  1. OpenCV入门及应用案例:手把手教你做DNN图像分类

    导读:本文将介绍OpenCV的源码结构.OpenCV深度学习应用的典型流程,以及深度学习和OpenCV DNN(Deep Neural Networks,深度神经网络)模块的背景知识,让读者可以快速认 ...

  2. OpenCV中Mat数据结构使用举例

    #include "stdafx.h" #include <string> #include <iostream> #include <opencv2 ...

  3. OpenCV alpha(权因子) 融合举例

    基于函数cv::addWeighted实现线性融合,目标公式如下: g(x)=(1−α)f0(x)+αf1(x) 公式(1) 其中 g(x)为目标(结果)图像, f0(x) 和 f1(x)为两个待融合 ...

  4. OpenCV+python:Canny边缘检测算法

    1,边缘处理 图像边缘信息主要集中在高频段,通常说图像锐化或检测边缘,实质就是高频滤波.我们知道微分运算是求信号的变化率,具有加强高频分量的作用. 在空域运算中来说,对图像的锐化就是计算微分.由于数字 ...

  5. OpenCV(二)逐像素的图像复制、图像边缘检测(自实现和API实现)

    目录 一.逐像素的图像复制 1.代码 2.效果 二.简单的图像边缘检测(自实现) 0.图像处理的卷积运算 1.简单模糊处理 2.强化边缘处理 1.原理 2.代码 3.效果 三.简单的图像边缘检测(调用 ...

  6. OpenCV(一)图像读取与新建、图像显示、操作图像像素(2种涂色并比较算法优劣、输出RGB)

    目录 一.读取图像与新建图像 1.读取图像 2.新建图像 二.显示图像 1.过程 2.代码 3.运行效果 三.操作图像像素 1.逐RGB涂色(单循环)(快) 1-1.过程 2-2.代码 2-3.运行结 ...

  7. OpenCV 【十九】图像金字塔/基本的阈值操作/实现自己的线性滤波器

    目录 1.part one 图像金字塔 1.1原理 1.1.1图像金字塔 1.1.2高斯金字塔 1.2代码 1.3运行结果 2.part two 基本的阈值操作¶ 2.1原理 2.1.1阈值化的类型: ...

  8. OpenCV 【十七】离散傅立叶变换

    目录 1 key 2 原理 3 实例 3代码 4运行结果 5应用举例 1 key 什么是傅立叶变换及其应用? 如何使用OpenCV提供的傅立叶变换? 相关函数的使用,如: copyMakeBorder ...

  9. OpenCV 【一】—— OpenCV中数组指针、图像分块计算、指针取像素值与MatToEigen方法,内存对齐

    { Topic1: 高效开辟内存,使适用于大型数组.//开辟新数组,或者开辟新的0或者某一数值的数组/Mat或者Map直接使用memset //大数组操作效率较高 举例1:cv::Mat cv_ncc ...

最新文章

  1. java phantomjd linux_linux安装phantomjs
  2. @NotNull-JSR-303验证
  3. vscodemaven 配置_二、vscode搭建maven开发环境
  4. iOS中系统自带正则表达式的应用
  5. SQLServer 存储过程
  6. 对比学习系列论文CPC(二)—Representation Learning with Contrastive Predictive Coding
  7. kienct -color
  8. 读书笔记《单核工作法》_4原理4,5
  9. makefile的选项CFLAGS和LDFLAGS
  10. java asm 中文文档_Java ASM3学习(3)
  11. HBase读写的几种方式(一)java篇
  12. H5学习之旅-H5的表单(11)
  13. Python安装GDAL库的问题
  14. 为什么说Java中要慎重使用继承
  15. 基于FPGA的四轴运动控制IC设计(verilog)
  16. 拼多多API SDK【拼多多开放平台】
  17. c语言编程 if怎么用,C语言编程入门——if的用法
  18. 做食材配送行业,哪个平台软件比较好?
  19. 大容量U盘计算机会不识别吗,电脑无法识别大容量U盘,怎么处理
  20. 狂送京东购物卡(无门槛¥1200)

热门文章

  1. 一个命令行整理软著代码
  2. 卡尔曼滤波系列——(四)无损卡尔曼滤波
  3. 昌平区有什么可以玩的地
  4. wubi安装Ubuntu正确方法及无限等待下载amd64.tar.xz解决方法
  5. http url特殊字符转义
  6. CGdiObject::DeleteObject的说法
  7. Oracle数据库之oracle update set select from 关联更新
  8. 万人「变阵冲刺」,京东数科没有终点
  9. P100:045-使用Weevely工具上传一句话木马
  10. 红黑树和红黑树的原理详解