OpenCV2
kou_ching
Never give in and never give up !
展开
-
OpenCV2学习(1)之图像显示
#include <opencv2/opencv.hpp> //头文件using namespace cv; //包含cv命名空间void main(){ // 【1】读入一张图片,载入图像 Mat srcImage = imread("F:/Image/girl.jpeg"); // 【2】初始化窗口,CV_WINDOW_NORMAL---用户可以改变窗口大小 c...原创 2018-12-30 00:45:10 · 529 阅读 · 0 评论 -
OpenCV2学习(9)之关于图片的通道以及位深
注意到 Mat 类很多构造函数的参数值包含选择图片的类型。其中图片的类型包含两种最主要的信息:图片的通道以及位深。矩阵数据类型是:CV_ <bit_depth> (S|U|F) C <number_of_channels>其中,S = 符号整型 U = 无符号整型 F = 浮点型如:CV_8UC1,CV_8SC1,CV_16UC1,CV_16SC1 ...原创 2019-01-31 00:26:57 · 1042 阅读 · 0 评论 -
OpenCV2学习(9)之图片的浅拷贝与深拷贝
一、引言对于Mat容器的拷贝有三种方式:(1)使用构造函数Mat A=imread("girl.jpeg");Mat B(A);//将A拷贝到B(2)利用赋值符号进行拷贝Mat A=imread("girl.jpeg");Mat B=A;(3)使用方法Mat::copyTo() Mat A=imread("girl.jpeg");Mat B;A...原创 2019-01-28 18:12:23 · 1042 阅读 · 2 评论 -
OpenCV2学习(8)之Mat类对象创建以及基本操作
1、Mat类常用的构造方法//无参数构造Mat();//创建行数为rows,列数为cols,类型为type的图像Mat(int rows, int cols, int type);//创建大小为size,类型为type的图像Mat(Size size, int type);//创建创建行数为rows,列数为cols,类型为type的图像,且全部元素(像素)初始化为 s...原创 2019-01-28 16:50:14 · 778 阅读 · 0 评论 -
OpenCV2学习(10)之Mat类对象元素的获取与赋值
矩阵元素的表达:对于单通道图像,其元素类型一般为 8U (即 8位无符号整数),当然也可以 是 16S 、32S、32F 等;这些类型可以直接用 uchar、short 、float等 C/C++语言中的基本数据类型表达。如果多通道图像,如RGB彩色图像,需要用三个通道来表示。在这种情况 下,如果依然将图像视作一个二维矩阵那么矩阵的元素不再是基本数据类型。opencv中使用vec可表示...原创 2019-02-01 01:40:03 · 1987 阅读 · 0 评论 -
OpenCV2学习(7)之在视频里面画矩形框并截取图片
在视频里面用鼠标截取区域然后提取出来,可以用于以后在视频或者摄像头里面截取有用信息。#include <opencv2/opencv.hpp>#include <math.h>using namespace cv;//全局变量Mat g_ImageROI;Rect g_rectangle;Point g_startPoint;Mat g_srcImag...原创 2019-01-13 02:46:28 · 3112 阅读 · 2 评论 -
OpenCV2学习(6)之基本鼠标操作
上次我们学习到滑动条的添加,实际就是创建滑动条,然后按照格式写回调函数即可。现在学习的鼠标操作也有异曲同工之妙,也是按照固定的格式变写回调函数,然后识别鼠标左键与右键的标识符或者鼠标移动标识符即可。enum{ //鼠标移动标识符 EVENT_MOUSEMOVE =0, //左键按下标识符 EVENT_LBUTTO...原创 2018-12-30 19:59:35 · 519 阅读 · 0 评论 -
OpenCV2学习(5)之添加滑动条
当你学习OpenCV的时候,处理一张图片往往需要逐步修改相应的参数才能达到理想的处理效果,这个时候,添加一个滑动条就可以省去往返开启调试功能的麻烦操作。先上效果图:主要是三个函数:第一个函数:创建滑动条CV_EXPORTS int createTrackbar(const string& trackbarname, const string& winname,...原创 2018-12-30 17:19:22 · 847 阅读 · 0 评论 -
OpenCV2学习(4)之好玩的边缘检测
二话不说,先上图:1、拉普拉斯算子2、Sobel算子3、Canny算子一、拉普拉斯算子简单实现://头文件#include <opencv2/opencv.hpp>#include<opencv2/highgui/highgui.hpp>#include<opencv2/imgproc/imgproc.hpp>//命名...原创 2018-12-30 03:08:34 · 560 阅读 · 0 评论 -
OpenCV2学习(3)之读取视频文件以及读取摄像头
知识简述:视频就是一帧一帧的图片连接而成,因此无论是读取视频还是读取摄像头,都只是将视频流一帧一帧地输出!读取视频文件://添加的头文件#include <opencv2\opencv.hpp> //添加的命名空间using namespace std;using namespace cv;//主程序int main(){ int nCount = 1;...原创 2018-12-30 02:22:32 · 1698 阅读 · 0 评论 -
OpenCV2学习(2)之图像腐蚀与膨胀
图像腐蚀与膨胀概念:图片的腐蚀和膨胀是针对图片中白色部分(高亮部分)而言的,而不是黑色部分。腐蚀就是原图中的高亮部分被腐蚀,“领域被蚕食”,效果图拥有比原图更小的高亮区域。而膨胀就是将图像中的高亮部分进行膨胀,“领域扩张”,效果图拥有比原图更大的高亮区域。1、膨胀:核心解读:膨胀就是求局部最大值的操作。区域B与区域A卷积,即是计算区域B覆盖的区域的像素点最大值(即白色),并且将...原创 2018-12-30 01:20:44 · 933 阅读 · 0 评论