C++opencv红外线目标点提取
红外线目标点提取
做跟踪算法实验
原理:通过提取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红外线目标点提取相关推荐
- 使用opencv训练目标检测模型基于cascade模型
使用opencv训练目标检测模型基于cascade模型 基于Haar特征的cascade分类器(classifiers) 是Paul Viola和 Michael Jone在2001年,论文" ...
- OpenCV通过形态学操作提取水平线和垂直线
OpenCV通过形态学操作提取水平线和垂直线 通过形态学操作提取水平线和垂直线 目标 理论 形态学运算 结构元素 代码 说明/结果 载入图片 灰阶 灰度到二进制图像 输出图像 结构要素 优化边缘/结果 ...
- opencv动态目标跟踪学习总结
用opencv实现对视频中动态目标的追踪 第一步,是要建立一个编程环境,然后加载opencv的库路径等等.具体步骤在 http://www.opencv.org.cn/ 的"安装" ...
- 利用opencv进行圆形标志提取和质心计算
利用opencv进行圆形标志提取和质心计算 最近跟着老师做项目,需要对图片中拍摄的圆形标志点进行检测和提取,查了一些资料和博客,记录一下过程.实际拍摄的图片如图所示: 图片处理过程的大概思路是: 1. ...
- python目标检测与识别_Python 使用Opencv实现目标检测与识别的示例代码
在上章节讲述到图像特征检测与匹配 ,本章节是讲述目标检测与识别.后者是在前者的基础上进一步完善. 在本章中,我们使用HOG算法,HOG和SIFT.SURF同属一种类型的描述符.功能代码如下: impo ...
- OpenCV使用形态学转换提取水平和垂直线的实例(附完整代码)
OpenCV使用形态学转换提取水平和垂直线的实例 OpenCV使用形态学转换提取水平和垂直线的实例 OpenCV使用形态学转换提取水平和垂直线的实例 #include <opencv2/core ...
- Object Tracking using OpenCV (C++/Python)(使用OpenCV进行目标跟踪)
本博客翻译搬运自https://www.learnopencv.com/object-tracking-using-opencv-cpp-python,用于初入目标跟踪的新手学习,转贴请注明! 使用O ...
- python数据挖掘视频_python+opencv实时视频目标检测
python+opencv实时视频目标检测 opencv环境 1.访问Python Extension Packages for Windows,下载python对应版本的opencv. 比如小编下载 ...
- pythonopencv目标检测_Python 使用Opencv实现目标检测与识别的示例代码
本章节是讲述目标检测与识别.后者是在前者的基础上进一步完善. 在本章中,我们使用HOG算法,HOG和SIFT.SURF同属一种类型的描述符.功能代码如下: import cv2 def is_insi ...
最新文章
- dht11温湿度传感器c语言程序_手把手教你DIY一款性价比爆棚的温湿度计!
- 戴尔:发力互联互通 构建世界基础设施中心
- git rm -r --cached 去掉已经托管在git上的文件
- 新手如何准确的控制油门
- bootstrap 点击图片放大查看_Bootstrap 开源 SVG 图标库 Bootstrap Icons
- C#中跨工程跨项目注释的显示
- 二维螺旋曲线方程式,弧长计算及作图实现
- Visual Studio 2017各版本安装包离线下载、安装全解析
- dhtml gantt所有配置_dhtmlxGantt
- linux ppoe 动态ip,设置路由器时应该选择动态ip,静态ip还是pppoe拨号?
- GitHub上的那些LGTM和WIP代表什么
- Python 情人节超强技能 导出微信聊天记录生成词云,深入讲解Python
- 关于领域驱动设计(DDD)中聚合设计的一些思考
- 拉里 埃里森_拉里·沃尔(Larry Wall)的“程序员的三个美德”是胡说八道
- 不平凡的2021,末流普本生秋招上岸大厂的历程
- 没有一个冬天不可逾越
- php面向对象第一篇
- Java引用界的四大天王
- java交错数组,C#交错数组用法实例
- “以电折水、水电共计”智能仪表助力农业灌溉走上新模式