欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

OpenCV實現最小外接正矩形

 更新時間:2020年07月21日 11:38:48   作者:fancy_MSF  
這篇文章主要為大家詳細介紹了OpenCV實現最小外接正矩形,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了OpenCV實現最小外接正矩形的具體代碼,供大家參考,具體內容如下

#include "stdafx.h" 
#include "cv.h"
#include "highgui.h" 
#include "cxcore.h"
#include "math.h" 
#include <iostream.h>
int main(int argc, char* argv[])
 
{  
 
 IplImage *src; 
 IplImage *dst;
 IplImage *ROI;
 CvMemStorage* storage=cvCreateMemStorage(0); 
 CvSeq* contour=0; 
 src=cvLoadImage("I:\\test.jpg",0);
 cvNamedWindow("image0",1);
 cvShowImage("image0",src);
 
 int  hei=src->height;
 int wid=src->width; 
 uchar *data;
 data=(uchar*)src->imageData;
 int widstep=src->widthStep;
 int channel=src->nChannels;
 dst=cvCreateImage(cvSize(wid,hei),IPL_DEPTH_8U,3);
 ROI=cvCreateImage(cvSize(wid,hei),IPL_DEPTH_8U,3);
 
 for (int i=0;i<hei;i++)
 
 {
 
   for(int j=0;j<wid;j++)
 
   {
 
    if (data[i*widstep+j*channel]>120)
 
    {
 
      data[i*widstep+j*channel]=0;
 
    }
 
    else
 
    {
 
      data[i*widstep+j*channel]=255;
 
    }
 
   }
 
 }
 
 cvNamedWindow("image",0); 
 cvShowImage("image",src); 
 printf("圖像的高為:%d,寬為:%d\n\n",hei,wid); 
 cvCvtColor(src, dst, CV_GRAY2BGR);;
cvFindContours(src,storage,&contour,sizeof(CvContour),CV_RETR_CCOMP,CV_CHAIN_APPROX_SIMPLE); 
 for(;contour!=0;contour=contour->h_next) 
 
 {
 
   double length =cvArcLength(contour); 
   double area =fabs(cvContourArea(contour)); 
   CvRect rect = cvBoundingRect(contour,1); 
   cout<<"Length="<<length<<"  Area="<<area<<endl;  
   CvPoint p1;
   CvPoint p2; 
   p1.x=rect.x; 
   p1.y=rect.y;
   p2.x=rect.x+rect.width;
   p2.y=rect.y+rect.height;
   cout<<"p1=("<<p1.x<<","<<p1.y<<")";
   cout<<"p2=("<<p2.x<<","<<p2.y<<")"<<endl;
   cvRectangle(dst,p1,p2,CV_RGB(255,0,0),1,8,0); 
 
 }
 
   cvNamedWindow("dst",1); 
   cvShowImage("dst",dst);
   cvWaitKey(0);
 
 return 0; 
 
}

原圖:

二值化反色圖:

最小正矩形圖:

最小正矩形信息:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • C語言常見排序算法之插入排序(直接插入排序,希爾排序)

    C語言常見排序算法之插入排序(直接插入排序,希爾排序)

    這篇文章介紹C語言常見排序算法之插入排序(直接插入排序,希爾排序),主要分享介紹的是插入排序的兩種常用算法,直接插入排序和希爾排序,需要的朋友可以參考一下
    2022-07-07
  • C++堆排序算法實例詳解

    C++堆排序算法實例詳解

    這篇文章主要介紹了C++堆排序算法,簡單分析了堆排序算法的原理并結合實例形式分析了C++實現堆排序的具體操作技巧,需要的朋友可以參考下
    2017-08-08
  • C++ 實現漢諾塔的實例詳解

    C++ 實現漢諾塔的實例詳解

    這篇文章主要介紹了C++ 實現漢諾塔的實例詳解的相關資料,這里主要說明C++中數據結構的遞歸的應用,需要的朋友可以參考下
    2017-08-08
  • C語言計算連續(xù)無序數組中缺省數字方法詳解

    C語言計算連續(xù)無序數組中缺省數字方法詳解

    這篇文章主要介紹了C語言計算連續(xù)無序數組中缺省數字方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2023-02-02
  • C語言實現學生信息管理系統(tǒng)(多文件)

    C語言實現學生信息管理系統(tǒng)(多文件)

    這篇文章主要為大家詳細介紹了C語言實現學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 解決C語言數組元素循環(huán)右移的問題

    解決C語言數組元素循環(huán)右移的問題

    今天小編就為大家分享一篇解決C語言數組元素循環(huán)右移的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 利用Matlab繪制有趣圖像的示例代碼

    利用Matlab繪制有趣圖像的示例代碼

    這篇文章主要為大家總結了一些利用Matlab繪制的有趣好看的圖像的示例代碼。文中的示例代碼簡潔易懂,感興趣的小伙伴可以動手試一試
    2022-03-03
  • C++中的STL中map用法詳解(零基礎入門)

    C++中的STL中map用法詳解(零基礎入門)

    map在編程中是經常使用的一個容器,本文來講解一下STL中的map,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • MFC實現連連看游戲之消子算法

    MFC實現連連看游戲之消子算法

    這篇文章主要為大家詳細介紹了MFC實現連連看游戲之消子算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • C 二分查找 遞歸與非遞歸的實現代碼

    C 二分查找 遞歸與非遞歸的實現代碼

    C 二分查找 遞歸與非遞歸的實現代碼,需要的朋友可以參考一下
    2013-03-03

最新評論