![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenCV
CXYYL
这个作者很懒,什么都没留下…
展开
-
Opencv - Mat::at()
at() 访问图片像素值的时候,坐标要注意不要弄反了!Mat::at(x0, y0),中,x0 表示的是图片的行索引, y0表示的是列索引而 Rect.x 表示的是以左上角为原点的坐标值,实际上为列索引;Rect.y 则为行索引例如:Mat a = b(Range(), Range()); 中,第一个 Range 表示行区间,第二个表示列区间以下这段代码的执行结果及其是这样的 Mat test00 = Mat::zeros(5, 10, CV_8UC1); test00.at<ucha原创 2020-11-10 16:28:47 · 791 阅读 · 0 评论 -
Opencv 学习 - 视频操作
VideoCapture::get()VideoCapture::get(int id) id: ** CV_CAP_PROP_POS_MSEC // 视频文件的当前位置(以毫秒为单位)或视频捕获时间戳。 CV_CAP_PROP_POS_FRAMES // 接下来要解码/捕获的帧的基于0的索引。 CV_CAP_PROP_POS_AVI_RATIO // 视频文件的相对位置:0 - 电影的开始,1 - 电影的结尾。 CV_CAP_PROP_FRAME_WIDTH // 视原创 2020-11-10 14:23:07 · 597 阅读 · 0 评论 -
Opencv 学习 - 小结
在各类opencv的接口函数中可以分为以下几类:图片/视频的 读、写、显示预处理:灰度化、滤波图片中重要信息的提取,该过程中包括二值化、形态学操作轮廓检测检测方法检测结果提取、处理检测结果显示与轮廓检测功能类似的有边缘检测、图像分割...原创 2020-11-05 17:23:07 · 169 阅读 · 0 评论 -
Opencv 学习 - 常用函数
threshold(): 二阈值分割 // 固定阈值 double cv::threshold(Mat src, // 只能是 CV_8U 和 CV_32F 两种数据类型 Mat dst, // 存放分割后的图像 double thresh, // 设定阈值 double maxVal, // 二值化的最大值, 只针对部分 type 值有效 int type // THRESH_BINARY | TH原创 2020-11-05 15:36:04 · 721 阅读 · 0 评论 -
Opencv 学习 - 自封装函数
绘制直方图作用:统计灰度图各像素出现次数函数:CvDrawHistMat CvDrawHist(Mat * pMat, char * szWndName = "HistFig", BOOL bShowHist = TRUE){ // 封装原接口 Mat matHist; const int idxChannel[1] = { 0 }; const int bins[1] = { 255 }; float iRange[2] = { 0, 255 }; const float *原创 2020-11-04 11:55:38 · 532 阅读 · 0 评论 -
Opencv 学习笔记(二)
第二篇:介绍具体函数用法图片读取、保存namedWindow():使用该函数创建一个空图片的窗口时,需要手动释放窗口资源(不推荐这种用法) // imread() Mat pic = imread("图片路径", 读取方式_可缺省); // 默认读取原图 // imshow() imshow("窗口名", Mat对象名); // imwrite() imread("图片存储路径", 写入方式_可缺省); 视频相关操作VideoCapure 是一个类,对视频相关原创 2020-11-10 14:12:14 · 1005 阅读 · 0 评论 -
Opencv 学习笔记(一)
参考:OpenCV中文官方文档Mat 对象数据类型U 无符号 ucharS 有符号 charF 浮点数32F —— float64F —— doubleMat 对象创建 // 第一种:Mat a(iRow, iCol, 数据类型+通道数(C1、C2....C512)) // 最多512个通道 Mat a(5, 3, CV_8UC3); Mat a(5, 3, CV_8UC3, Scalar(0, 0, 255)); // 三通道对象,最后一个参数是对所有像素赋初原创 2020-11-10 14:12:46 · 143 阅读 · 0 评论