OpenCV学习笔记2.1 如何访问像素及c++随机数使用方法

总述:第二章的内容主要是对图像的元素即像素进行操作,对于二维灰度图来说像素值是八位即从0到255,0代表黑色255代表白色。彩色图像有三个通道按顺序来是蓝色、绿色、红色。故彩色图像的像素值为一个三维向量(B,G,R)
一、如何访问像素点
方法1:使用at<>访问
首先注意访问像素点之前必须知道像素点的数据类型
对于灰度图:image.at<数据类型>(col,row)=xxx
对于彩色图:image.at<数据类型>(col,row)[channel]=xxx
常用的数据类型对于灰度图来说比如有符号数char与无符号数uchar
对彩色图来说有专门的数据类型cv::Vec3b(包含三个无符号数)

※如果数据类型与像素的本身的数据类型不同则无法访问※

方法2:使用cv::Mat_
结构为cv::Mat_<数据类型>img(图像名)
img(col,row)=xxx

// 用Mat 模板操作图像
cv::Mat_<uchar> img(image);
img(50,100)= 0; // 访问第50 行、第100 列处那个值

二、实例展示:对一张彩色图片随机产生噪声点
首先有个c++中产生随机数的新方法提一下用法:
1.加入头文件
2.std::default_random_engine seed;//定义一个随机数引擎
3. uniform_int_distribution i (min,max);//定义随机数范围

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值