使用Opencv怎么改变轮廓外背景颜色-创新互联

这期内容当中小编将会给大家带来有关使用Opencv怎么改变轮廓外背景颜色,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

创新互联建站坚实的技术研发基础赢得了行业内的良好口碑,公司成立10年来,为成百上千企业提供过网站建设、软件开发、搜索引擎优化技术、互联网大数据整合营销服务,多年的技术服务成功经验、众多的客户使我们能懂得更多,做得更好。"让您的网站跑起来"是我们一直追求的目标!

首先,头文件,写的比较多,没用的可以自己去除

#include  
#include 
#include"opencv2/imgproc/imgproc.hpp" 
#include 
#include 
#include  

//命名空间
using namespace cv;
using namespace std;
//图片数据名字,原图,灰度图,二值图,直方图
Mat src,src_gray,dst,src_equ;
//声明一个函数,建立滑动条
static void on_trackbar(int, void*);

主函数

int main(int argc, char** argv)
{
  //图片读入
  src = imread("D:\\PersonWork\\OpenCV\\program\\picture data\\0400.bmp");

  //判断是否存在
  if (!src.data)
  {
    cout << "Image no find,error!" << endl;
  }

  //灰度转换
  cvtColor(src,src_gray, CV_BGR2GRAY);

  //原图窗口,显示
  namedWindow("原图", 0);
  imshow("原图", src);

  //二值图窗口
  namedWindow("二值图", 0);

  // 滑动条  
  int nThreshold = 120;
  createTrackbar("graybar", "二值图", &nThreshold, 255,on_trackbar); 
  on_trackbar(nThreshold, 0);

  waitKey(0);
  destroyWindow("原图");
  destroyWindow("二值图");
  destroyWindow("result");
  return 0;
}

回调函数

static void on_trackbar(int pos, void*)
{

  //二值化
  threshold(src_gray, dst, pos, 255, CV_THRESH_BINARY);
  imshow("二值图", dst);

  //直方均匀化
  equalizeHist(dst, src_equ);

  //识别轮廓
  vector> contours;
  vector hierarchy;
  findContours(src_equ, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE);    

  //轮廓数量,可没有
  //int len=contours.size();
  //cout<(j);
    for(int i=0;i

上述就是小编为大家分享的使用Opencv怎么改变轮廓外背景颜色了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联网站建设公司行业资讯频道。

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:使用Opencv怎么改变轮廓外背景颜色-创新互联
浏览路径:http://ybzwz.com/article/epsij.html