opencv 基础操作 c++

4 篇文章 1 订阅

 1.基础操作

2.访问图像中像素的3种方法

① 指针(高效)

返回图像任一行的首地址,ptr类(模板类),如Image.ptr<uchar>(i),读取第i行首地址

uchar* data=Image.ptr<uchar>(i)

data[j] 则为第i行第j列的元素

② 迭代器(interator)(不会出现越界)

③ 动态地址计算(耗时,直观简单):at

M.at<uchar>(i,j)=val,表示单通道,第i行第j列元素;

M.at<Vec3b>(i,j)[channel]=val,表示多通道(channel:0表示蓝,1表示绿,2表示红),第i行第j列元素。

3.常见的处理函数

① 图翻转

② 图旋转

③ 空间颜色转换

④ 图像通道的分离与合并

 图像平滑(常见滤波器)

4.OpenCV改变图像的对比度和亮度

或 

其中cv :: Mat :: convertTo将有效地执行* new_image = a * image + beta *,即二者等效。在任何情况下,两种方法都给出相同的结果,但是convertTo是更优化的,并且工作得更快。

5.OpenCV平滑图像

平滑,也称为模糊,是一种简单而经常使用的图像处理操作。

如 高斯滤波器、中值滤波器、双边过滤器等。

如下是高斯平滑(模糊)结果:

6.Canny边缘检测器

7.Hough Line 霍夫线变换

① 法一

② 法二

8.Hough Circle 霍夫圆变换

加载图像并使其模糊 ——> 以减少噪音将Hough Circle变换应用于模糊图像 ——> 在窗口中显示检测到的圆。

9.直方图同等化(Equalization)

 

10.查找轮廓

11. 角点检测

① Harris corner 角点检测

 

② Shi-Tomasi 角点检测

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值