![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++和opencv工程项目小知识
梦游城市
这个作者很懒,什么都没留下…
展开
-
c++和opencv小知识:opencv_contrib-4.1.0+opencv-4.1.0(sources)扩展模块安装(注意细节)
opencv_contrib-4.1.0+opencv-4.1.0扩展模块安装环境:vs2019+64位1、扩展模块的安装参考这一个就够了https://blog.csdn.net/CJ_035/article/details/82024178但是我需要指出在我这里出现的修正地方:注意点1找到OPENCV_EXTER_MODULES_PATH,添加opencv扩展模块的路径,并勾选OP...原创 2020-04-30 19:29:47 · 544 阅读 · 0 评论 -
c++和opencv小知识:高斯混合模型(GMM)分割图像
高斯混合模型(GMM)分割图像#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;int main(){ Mat srcImg = imread("C:\\Users\\tudejiang\\Desktop\\简历\\xiao.jpg"); ...原创 2020-04-29 14:34:30 · 655 阅读 · 0 评论 -
c++和opencv小知识:高斯混合模型(GMM)分割数据
高斯混合模型(GMM)分割数据#include<opencv2/opencv.hpp>#include<iostream>using namespace std;using namespace cv;using namespace cv::ml;int main(){ Mat img = Mat::zeros(500, 500, CV_8UC3); ...原创 2020-04-29 14:32:56 · 389 阅读 · 0 评论 -
c++和opencv小知识:ORB特征点匹配小流程
ORB特征点匹配小流程#include <stdio.h>#include <iostream>#include<opencv2/opencv.hpp>using namespace cv;using namespace std;int main(){ //读取图像 Mat img1 = imread("1.jpg"); Mat i...原创 2020-04-27 23:33:33 · 973 阅读 · 0 评论 -
数字图像处理项目:RGB转为HSV
#include<opencv2/opencv.hpp>#include<iostream>using namespace std;using namespace cv;//分水岭血管作业1,使用连通域方法int main(){ Mat src = imread("E:\\哈工智能\\fenge\\watershedone\\color.jpg"); if ...原创 2020-04-24 15:54:57 · 519 阅读 · 0 评论 -
数字图像处理:Grabcut分割
Grabcut分割理论可以参考:https://blog.csdn.net/kyjl888/article/details/78253829#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;//定义全局变量Rect myrect;bo...原创 2020-04-22 17:04:27 · 215 阅读 · 0 评论 -
c++和opencv小知识:opencv处理视频系列四:视频处理实战
opencv处理视频系列四:视频处理实战看过我之前写的三篇文章,大家应该对视频的读取,显示和保存有了深刻的认识后,下面我们来看下具体的实战:采用降采样的方式,来缩小视频#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;int main...原创 2020-04-22 16:44:31 · 1105 阅读 · 0 评论 -
c++和opencv小知识:opencv处理视频系列三:对处理后的视频图像进行保存
opencv处理视频系列三:对处理后的视频图像进行保存open ( const char* filename, int fourcc, double fps, CvSize frame_size, int is_color=1 ); filename 输出视频文件名。 fourcc为 四个字符用来表示压缩帧的codec 例如: CV_FOURCC('P','I','M','...原创 2020-04-22 16:13:59 · 833 阅读 · 0 评论 -
c++和opencv小知识:opencv处理视频系列二:从摄像头中读取和显示视频
opencv处理视频系列二:从摄像头中读取和显示视频opencv中的HIghGUI板块,为我们提供了一个简单的方法来驾驭从摄像头中读取的实时数据流进行交互,这种方法很接近于我们使用的VideoCapture从磁盘中读取视频的方式,实际上,VideoCaoture对磁盘上的文件和摄像头是有一致的接口,对应前者来说需要指定读取文件名的路径,对于后者来说,需要给它一个相机ID号(如果只有一个摄像头连接...原创 2020-04-22 15:24:16 · 655 阅读 · 0 评论 -
c++和opencv小知识:opencv处理视频系列一:读取和显示视频
opencv处理视频系列一:读取和显示视频(详细注释)#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;int main(int argc, char** argv) { //videocapture结构创建一个catture视频对象...原创 2020-04-22 15:15:56 · 4105 阅读 · 0 评论 -
c++和opencv小知识:TermCriteria结构的使用(详细)
TermCriteria结构的使用(详细)TermCriteria是许多opencv算法都在使用的迭代求解的结构struct cv::TermCriteria(Public://成员变量enum{COUNT=1, //计算元素或者迭代次数最小值MAX_ITER=COUNT, //最大迭代次数EPS=2 //当满足该精确度时,迭代算法停止};//构造函数TermCriteri...原创 2020-04-22 11:22:35 · 5091 阅读 · 0 评论 -
c++和opencv小知识:RNG随机数的超级详细解析
————————————————版权声明:本文为CSDN博主「Markala」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/gdfsg/article/details/50830489产生随机数是编程中经常用到的操作,特别在进行初始化的时候需要赋一些随机值。C和C++中产生随机数的方法如rand()、s...转载 2020-04-18 20:48:32 · 4288 阅读 · 1 评论 -
c++和opencv小知识:opencv基础入门二(Mat类的解析)
opencv基础入门二(Mat类的解析)Mat这个结构可以看做Opencv所有以C++实现的核心,opencv所有主要函数都或是Mat的成员,或是将Mat作为参数,或是返回一个Mat类型。它可以作为任意维度的数组使用;本文指数常用一、创建一个数组主要就是指明数组的维度,数据类型,像素值1、通过实例化类对象(构造函数)Mat m(int rows,int cols,int type)M...原创 2020-04-17 17:34:31 · 648 阅读 · 0 评论 -
c++和opencv小知识:openCV中convertTo的用法
openCV中convertTo的用法convertTo函数一般用于CV_32s转为CV_8U:原函数解析:src.convertTo(dst, type, scale, shift)缩放并转换到另外一种数据类型:dst:目的矩阵;type:需要的输出矩阵类型,或者更明确的,是输出矩阵的深度,如果是负值(常用-1)则输出矩阵和输入矩阵类型相同;scale:比例因子;shift:将输...原创 2020-04-16 21:35:25 · 11181 阅读 · 0 评论 -
c++和opencv小知识:opencv基础入门一(数据类型,Point,size,rect,Matx,vec)
opencv基础入门必备知识要学好opencv,其必要的入门知识是对数据类型的认识,以及如何建立常用的类对象;一、数据类型符号b = unsighed char (无符号字符类型)w = unsigned short (无符号短整型)s = short (有符号短整型)i = intf =floatd =double大家都知道,一个字节8位64位编译器char :...原创 2020-04-16 14:38:54 · 1334 阅读 · 0 评论 -
c++和opencv小知识:鼠标交互setMouseCallback()实例画矩形解析(流程,详细解析)
鼠标交互setMouseCallback()实例画矩形解析本文主要对鼠标交互画矩形 的解析,其他交互画图形都是一个道理。首先上代码:main.cpp#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;Rect boxPhi;bool g_...原创 2020-04-15 17:28:42 · 2417 阅读 · 0 评论 -
c++和opencv小知识:提取感兴趣区域ROI
图片提取感兴趣区域ROI方法有很多最常用的和最方便的是通过截取方式格式一:Img_ROI =img( rect(x,y,width,height));格式二:Img_ROI =img( range(行1,行2),range(列1,列2));想要获取不同形状可以把rect换成其他的形状...原创 2020-04-15 16:39:08 · 5802 阅读 · 5 评论 -
c++和opencv小知识:setTo()和copyTo()/clone()
setTo()和copyTo()详解一些小函数的运用可以知道代码实现目标更加快捷简单一、setTo()函数opencv的setTo函数是将图像设置为某个值;例如:1、有一个Mat src,想将他的值全部设置成0,则可以src.setTo(0)2、setTo还有更为高级的用法,对于一个已知的src,我们要将其中大于或者小于某个值的像素值设置为指定的值,则可以如下:src.setTo(0...原创 2020-04-15 16:23:32 · 3728 阅读 · 0 评论 -
c++和opencv小知识:针对iostream,ifstream和ofstream的一些例子(ASCII文件)
针对iostream,ifstream和ofstream的一些例子1、本文是根据前文,https://blog.csdn.net/qq_43702097/article/details/105515652补充的一些解析例子题目:从键盘从中输入数据,判断是否是字符,如果是存入文件读取刚才的文件,判断字符是是否是小写,如果是改为大写直接上代码:#include<iostream>...原创 2020-04-15 10:12:13 · 308 阅读 · 0 评论 -
c++和opencv小知识:vector向量的逻辑解析和push_back多向量操作
vector向量的逻辑解析和push_back多向量操作一、理论vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器。vector 是C++ STL的一个重要成员,使用它时需要包含头文件:#include<vector>;本文的重点是多层搜索vector,比如:vector<vector<Point>> //图像处理中寻找轮...原创 2020-04-14 18:13:03 · 1263 阅读 · 0 评论 -
c++和opencv小知识: ifstream和ofstream读取存储信息总结(简单、通俗易懂)
ifstream/ofstream实现读取txt文件信息和保存信息到txt文件一、原理1、 我们知道c++中可以使用cout<<a;把a向屏幕中输入,cin>>b从键盘输入到b;通过添加iostream头文件就可以实现。其实可以理解为:cout是一个写入文件的接口,屏幕是保存信息的txt文件;cin是一个读取文件的接口,键盘是其要读取信息的txt文件。2、所以这里的o...原创 2020-04-14 17:21:10 · 1225 阅读 · 0 评论 -
c++和opencv小知识:遍历图像像素的常用方法(详细,很全)
c++遍历图像像素的常用方法在图像处理时经常会用到遍历图像像素点的方式,同样是遍历图像像素点,共有很多中方法可以做到;在这些方法中,有相对高效的,也有低效的;不同场景使用不同方法。其中:Mat_对应的是CV_8U,Mat_对应的是CV_8S,Mat_对应的是CV_32S,Mat_对应的是CV_32F,Mat_对应的是CV_64F。1、遍历图像像素方法一:通过at(i,j)坐标指针//遍历...原创 2020-04-13 17:21:46 · 9649 阅读 · 3 评论 -
c++和opencv小知识:c++批量读取、处理、保存文件夹下图片(一套流程)
c++批量读取、处理、保存图片与上一篇文章所说的opencv批量处理文件夹下图片不同准备:1、图片名称列表文件txt格式,如下2、图片文件夹路径//存储图片路径 string input_image_path = "C:\\Users\\tudejiang\\Desktop\\超声图像VOC格式标准数据集201911\\VOC2007\\save\\";3、图片处理后保存路径/...原创 2020-04-13 15:52:51 · 4640 阅读 · 0 评论 -
c++和opencv小知识:extern共享全局变量使用和include头文件的使用逻辑
extern共享全局变量使用和include头文件的使用逻辑说明;1、头文件.h是用来说明的2、源文件.cpp是用来定义的一般你写的程序给别人使用时候,别人只需包含头文件就可以了因此在定义全局共享变量的时候,在工程项目中一般把全局共享变量同extern来声明,单独定义在.cpp和.h文件中;这样每个程序想使用全局变量,只需要包含externt头文件就可以了3、include“***.h...原创 2020-04-13 14:06:13 · 457 阅读 · 0 评论 -
c++和opencv小知识——读取xml格式文件
经常遇到需要读写XML的地方,一般在C++中读写XML都会用到一个C++库tinyXml类库,这个类库可以直接下载,并解压,得到了一种6个源文件,其中4个cpp文件,2个h头文件,在使用中只需要将这个6个文件拷贝到工程目录下,再#include两个h头文件即可,即可在工程中使用这个库进行XML文件的读取了。6个文件如下:一、C++读取XML文件以读取如下的XML文件为例:需要读取的每个o...转载 2020-04-13 11:33:47 · 727 阅读 · 1 评论 -
c++和opencv小知识:基于距离变换的分水岭算法(固定流程)
#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;int main(){ Mat src = imread("000119.jpg"); imshow("src", src); Rect box(72, 93, 90, 93); Mat...原创 2020-04-10 23:25:57 · 642 阅读 · 0 评论 -
c++和opencv小知识:findcontours和drawcontours制作连通域
findcontours和drawcontours制作连通域#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;int main(){ Mat src = imread("src_img.jpg", 1); imshow("src", src...原创 2020-04-10 17:45:32 · 1458 阅读 · 0 评论 -
c++和opencv小知识:计算轮廓的矩、面积、周长等
获取图片轮廓的后处理#include<iostream>#include<opencv2/opencv.hpp>#include<vector>using namespace cv;using namespace std;int main(){ Mat srcImage = imread("contours.jpg",0); if (src...原创 2020-04-10 15:27:36 · 2154 阅读 · 0 评论 -
c++和opencv小知识点——批量导入图片和保存图片
opencv批量导入文件夹中图片和保存处理后的图片使用opencv中的glob函数:#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;int main(){ //读取文件地址 String img_file = "C:\\Users\\t...原创 2020-04-09 17:50:13 · 1732 阅读 · 0 评论