随笔分类 -  opencv c++

自学,存在资料搬运
摘要:允许直接让三通道图像进行与scalar加减除操作 但不能乘,因为回导致返回类型不一致,若需要,使用函数 multiply(input,input,out) add(input,input,out) substract( input,input,out) divide( input,input,out 阅读全文
posted @ 2021-04-01 10:36 KAVEI 阅读(86) 评论(0) 推荐(0)
摘要:使用at函数 mat类中 at<type>(rows,cols) 返回int值(单通道) 行(rows)是y 列(cols) 是x vec3b:3个无符号字符数(类似一个三维矢量) vec3i:3个整形数 vec3f: 使用指针(mat::ptr<type>(row,col(可缺省)))(效率更高) 阅读全文
posted @ 2021-04-01 10:03 KAVEI 阅读(42) 评论(0) 推荐(0)
摘要:介绍 OpenCV 读写视频之前,先介绍一下编解码器(codec)。如果是图像文件,我们可以根据文件扩展名得知图像的格式。但是此经验并不能推广到视频文件中。有些 OpenCV 用户会碰到奇怪的问题,都是 avi 视频文件,有的能用 OpenCV打开,有的不能。视频的格式主要由压缩算法决定。压缩算法称 阅读全文
posted @ 2021-01-31 12:11 KAVEI 阅读(62) 评论(0) 推荐(0)
摘要:imread函数 返回值:Mat对象;如果读取文件失败,则会返回一个空矩阵,Mat::data的值为NULL 若要检查是否读入成功,使用Mat::empty()函数检查 声明:Mat imread(const string& filename, int flags=1 ); filename是读取或 阅读全文
posted @ 2021-01-31 11:22 KAVEI 阅读(82) 评论(0) 推荐(0)
摘要:Scalar 是个short型vector。指定这个能够使用指定的定制化值来初始化矩阵。当然,如果你需要更多通道数,你可以使用大写的宏并把通道数放在小括号中,如下所示 int sz[3] = {2,2,2}; Mat L(3,sz, CV_8UC(1), Scalar::all(0)); randu 阅读全文
posted @ 2021-01-25 12:49 KAVEI
摘要:矩阵元素表达 OpenCV 中有模板类 Vec,可以表示一个向量。OpenCV 中使用 Vec 类预定义了一些小向量,可以将之用于矩阵元素的表达。 typedef Vec<uchar, 2> Vec2b; typedef Vec<uchar, 3> Vec3b; typedef Vec<uchar, 阅读全文
posted @ 2021-01-25 11:16 KAVEI 阅读(134) 评论(0) 推荐(0)
摘要:MAT类 由cvmat与IplImage发展而来,具有自动管理内存功能,并提供少量c++接口。 python numpy 创建对象 mat 头部(储存行与列,数据类型) 赋值:新对象指向内存地址 克隆与拷贝:复制一个新的数据 克隆:clone 复制: copyto 空白:mat::zeros(siz 阅读全文
posted @ 2021-01-24 11:56 KAVEI 阅读(160) 评论(0) 推荐(0)
摘要:图像的行步长 步长是一个单独概念,在两个对象间的内存长短。行步长指每一行之间的内存长短 opencv的颜色体系 图像通道数问题(转自https://blog.csdn.net/mao_hui_fei/article/details/78217049) 描述一个像素点,如果是灰度,那么只需要一个数值来 阅读全文
posted @ 2021-01-24 11:36 KAVEI 阅读(179) 评论(0) 推荐(0)
摘要:部分网络库函数格式为:#include<cv.h>或#include<highgui.h> 在老版本opencv中,这是可行的,但在opencv4.0中,编译时会出现: 严重性 代码 说明 项目 文件 行 禁止显示状态错误(活动) E1696 无法打开 源 文件 "highgui.h" Projec 阅读全文
posted @ 2021-01-24 11:03 KAVEI 阅读(1074) 评论(0) 推荐(0)