【OpenCv】第一篇(基础篇)

买了一个opencv的视频观看,记录了一些基础知识,担心遗忘抄写在这。视频资料我会上传分享给路过的朋友们,上传后我会把链接贴出来。

  1. 图像的加载(cv::imread):加载图像成为一个Mat型,有三个参数。第一个参数表示要加载的图像名称,第二个参数表示加载成什么类型的图像。第二个参数又包含三个参数(IMREAD_UNCHANGED(<0)加载原图像不做任何改变,IMREAD_GRASCALE(0)表示把原图作为灰度图像加载进来,IMREAD_COLOR(>0)表示把原图作为RGB图像加载进来)。
  2. 图像的颜色修改(cv::cvtcolor(src,gray_src,COLOR_BGR2GRAY):第一个参数为要转换的图像,第二个参数为转换后输出的图像,第三个参数表示转换类型,比如COLOR_BGR2HLS 表示将RGB的图像转换成HLS型;COLOR_BGR2GRAY 表示将RGB类型转换成GRAY型。
  3. 图像的保存(imwrite("路径+扩展名",src)
  4. 图像的显示(显示在windows窗口):   
  • 第一步先定义一个窗口(cv::namedwindows):它是由opencv自主创建与释放,无需销毁,函数为namedwindows(“窗口名”,WINDOW_AUTOSIZE)WINDOW_AUTOSIZE表示根据图像大小调整窗口大小,WINDOW_NORMAL,跟QT集成的时候会使用,允许修改窗口大小。    
  • 第二个步将图像显示在窗口上(cv::imshow):imshow("窗口名",src)
  1. 图像的像素处理:这个函数是将像素转换到0-255的范围,函数为saturate_cast<uchar>(要转换的像素),saturate_cast<uchar>(-100)返回0;saturate_cast<uchar>(288)返回255;saturate_cast<uchar>(100)返回100即小于0的返回0,大于255的返回255,在0-255之间的返回着个值。
  2. 创建一个图像:Mat::zeros(src.size(),src.type())创建一个与已知图像src大小尺寸一样的图像,但是像素为0
  3. 获取图像的像素指针:Mat.ptr<uchar>(int i=0) 获取像素矩阵的指针,索引i表示第几行,从0开始计行数。
  4. 获取像素值:(1)单通道的像素-src.at<uchar>(row,col)。(2)三通道像素-src.at<Vec3b>(row,col)[0],[]内代表通道数,[0]代表第一通道,[1]代表第二通道,[2]代表第三通道。注:Vec3b对应的三通道顺序为blue、green、red的uchar类型,Vec3f对应的是三通道float类型数据。把CV_8UC1转换到CV32F1实现方法如下:src.convertTo(dst,CV_32F).
  5. 获取图像的通道数:Mat src.channels-获取src的通道数
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值