红外线目标点提取

做跟踪算法实验
原理:通过提取R通道并阈值二值化,以分割红点

/*****           红外线点目标提取            *****/
#include "StdAfx.h"
#include "stdafx.h"
#include "core/core.hpp"
#include "highgui/highgui.hpp"
#include "imgproc/imgproc.hpp"
#include "iostream"
#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/nonfree/nonfree.hpp>
#include <time.h>
#include <windows.h>using namespace std;
using namespace cv; int main(int argc, char** argv){cv::Mat image;image = cv::imread("./6.jpg");if(image.data== nullptr)//nullptr是c++11新出现的空指针常量{cerr<<"图片文件不存在"<<endl;return 0;}cout<<"图像宽为:"<<image.cols<<"\t高度为:"<<image.rows<<"\t通道数为:"<<image.channels()<<endl;cv::Mat channel[3];split(image, channel); //提取B、G、R三个通道的灰度图cv::Mat image_th;cv::threshold(channel[2], image_th, 220, 255.0 , CV_THRESH_BINARY);//形态学处理Mat element,image_pro;element = getStructuringElement(MORPH_RECT, Size(3,3));  //创建锚点内核(矩形,大小5*5),形态学预处理用到的算子morphologyEx(image_th, image_pro, MORPH_CLOSE, element);   //形态学闭运算//dilate(image_pro,image_pro,element,Point(-1,-1),2);//绘制目标轮廓vector<vector<Point>> contours;        //轮廓数组vector<Vec4i> hierarchy;vector<vector<Point> >::iterator itr;   //轮廓迭代器  double area;   //轮廓面积Mat image_temp;image_temp = image_pro.clone();findContours(image_temp,contours,hierarchy,RETR_TREE,CHAIN_APPROX_SIMPLE,Point());Mat imageContours=Mat::zeros(image_temp.size(),CV_8UC1);//使用迭代器去除非目标轮廓itr = contours.begin();       while (itr != contours.end()){area = contourArea(*itr);//计算面积cout<<"面积:"<<area<<endl;itr++;}cv::imshow("R",image_th);cv::imshow("th",image_pro);cv::waitKey(0);// 按任意键在0秒后退出窗口,不写这句话是不会显示出窗口的return 0;return 0;
}

C++opencv红外线目标点提取相关推荐

  1. 使用opencv训练目标检测模型基于cascade模型

    使用opencv训练目标检测模型基于cascade模型 基于Haar特征的cascade分类器(classifiers) 是Paul Viola和 Michael Jone在2001年,论文" ...

  2. OpenCV通过形态学操作提取水平线和垂直线

    OpenCV通过形态学操作提取水平线和垂直线 通过形态学操作提取水平线和垂直线 目标 理论 形态学运算 结构元素 代码 说明/结果 载入图片 灰阶 灰度到二进制图像 输出图像 结构要素 优化边缘/结果 ...

  3. opencv动态目标跟踪学习总结

    用opencv实现对视频中动态目标的追踪 第一步,是要建立一个编程环境,然后加载opencv的库路径等等.具体步骤在 http://www.opencv.org.cn/ 的"安装" ...

  4. 利用opencv进行圆形标志提取和质心计算

    利用opencv进行圆形标志提取和质心计算 最近跟着老师做项目,需要对图片中拍摄的圆形标志点进行检测和提取,查了一些资料和博客,记录一下过程.实际拍摄的图片如图所示: 图片处理过程的大概思路是: 1. ...

  5. python目标检测与识别_Python 使用Opencv实现目标检测与识别的示例代码

    在上章节讲述到图像特征检测与匹配 ,本章节是讲述目标检测与识别.后者是在前者的基础上进一步完善. 在本章中,我们使用HOG算法,HOG和SIFT.SURF同属一种类型的描述符.功能代码如下: impo ...

  6. OpenCV使用形态学转换提取水平和垂直线的实例(附完整代码)

    OpenCV使用形态学转换提取水平和垂直线的实例 OpenCV使用形态学转换提取水平和垂直线的实例 OpenCV使用形态学转换提取水平和垂直线的实例 #include <opencv2/core ...

  7. Object Tracking using OpenCV (C++/Python)(使用OpenCV进行目标跟踪)

    本博客翻译搬运自https://www.learnopencv.com/object-tracking-using-opencv-cpp-python,用于初入目标跟踪的新手学习,转贴请注明! 使用O ...

  8. python数据挖掘视频_python+opencv实时视频目标检测

    python+opencv实时视频目标检测 opencv环境 1.访问Python Extension Packages for Windows,下载python对应版本的opencv. 比如小编下载 ...

  9. pythonopencv目标检测_Python 使用Opencv实现目标检测与识别的示例代码

    本章节是讲述目标检测与识别.后者是在前者的基础上进一步完善. 在本章中,我们使用HOG算法,HOG和SIFT.SURF同属一种类型的描述符.功能代码如下: import cv2 def is_insi ...

最新文章

  1. dht11温湿度传感器c语言程序_手把手教你DIY一款性价比爆棚的温湿度计!
  2. 戴尔:发力互联互通 构建世界基础设施中心
  3. git rm -r --cached 去掉已经托管在git上的文件
  4. 新手如何准确的控制油门
  5. bootstrap 点击图片放大查看_Bootstrap 开源 SVG 图标库 Bootstrap Icons
  6. C#中跨工程跨项目注释的显示
  7. 二维螺旋曲线方程式,弧长计算及作图实现
  8. Visual Studio 2017各版本安装包离线下载、安装全解析
  9. dhtml gantt所有配置_dhtmlxGantt
  10. linux ppoe 动态ip,设置路由器时应该选择动态ip,静态ip还是pppoe拨号?
  11. GitHub上的那些LGTM和WIP代表什么
  12. Python 情人节超强技能 导出微信聊天记录生成词云,深入讲解Python
  13. 关于领域驱动设计(DDD)中聚合设计的一些思考
  14. 拉里 埃里森_拉里·沃尔(Larry Wall)的“程序员的三个美德”是胡说八道
  15. 不平凡的2021,末流普本生秋招上岸大厂的历程
  16. 没有一个冬天不可逾越
  17. php面向对象第一篇
  18. Java引用界的四大天王
  19. java交错数组,C#交错数组用法实例
  20. “以电折水、水电共计”智能仪表助力农业灌溉走上新模式

热门文章

  1. dvi显卡连接html显示器,DVI接口显卡怎么连接VGA显示器
  2. 用饮水机教你什么是RAID
  3. 如何在win7建网站服务器,win7系统下利用iis如何进行web服务器搭建
  4. ogr2gor sqlserver转geojson
  5. AUTOSAR FunctionalSafety
  6. 我的2019年终总结:人生下半场,继续做“减法”
  7. 关于局域网及广域网安全的解决办法
  8. 局域网 广域网 网际网络
  9. ubuntu 14.04系统安装 Understand
  10. 山西大学计算机复试题,山大复试历年真题资料