Opencv学习笔记(c++)——基本常用函数及一些图像处理基本方法

原创 2018年04月17日 21:24:56

首先感谢@浅墨_毛星云,本篇博文是小武通过学习@浅墨_毛星云的博客以及书籍《opencv3.0编程入门》整理的笔记及疑问心得,小武水平有限,欢迎交流。

@浅墨_毛星云博文:https://blog.csdn.net/poem_qianmo/article/category/1923021



一、常用函数

1、点的表示:Point 类;

2、颜色的表示:Scalar类:

Scalar( a, b, c )

我们将定义一个基准色如: Blue = aGreen = b and Red = c

3、尺寸的表示:Size类;

4、矩形的表示:Rect类;

5、颜色空间转换:cvtColor()函数;

6、指定一个序列中的连续子序列:Range类,Range::all() 表示全部序列,Range(a,b);

7、批量进行元素查找,扫描和操作图像:LUT();

8、计时函数:getTickcount()和getTickFrequency;

9、分离色彩通道:split ();   合并色彩通道:merge()。


二、访问图像中像素的三种方法

1、指针(高效):返回图像任一行的首地址:ptr类(是一个模板类)。如:Image.ptr<uchar>(i),读取第i行首地址;

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

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

2、迭代器(interator)(不会出现越界):                  

Mat_<Vec3b>::interator img_begain=Img.begin<Vec3b>();//获取开始位置
Mat_<Vec3b>::interator img_end=Img.end<Vec3b>();//获取终止位置

for(;Img.begin!=Img.end;++Img.begin)
{
//处理每个像素
(*Img.begin)[0]=(*Img.begin)[0]/div*div+div/2;蓝
(*Img.begin)[1]=(*Img.begin)[1]/div*div+div/2;绿
(*Img.begin)[2]=(*Img.begin)[2]/div*div+div/2;红
}

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

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


三、ROI(感兴趣区域)

如:Mat imageROI=Source_Img(Rect(left_up_x,left_up_y,Logo_img.cols,Logo_img.rows));

left_up_x,left_up_y表示矩形左上角开始元素的坐标。






c#数字图像处理的3种基本方法

  • 2013年05月18日 17:11
  • 999KB
  • 下载

【开发日记】C#调用C++图像处理算法(opencv)

我用C++开发算法,同事用C#实现业务逻辑。我是第一次做C#和C++的交互,如今遇到问题。 问题:手头有一个C++算法类,打算通过dll调用函数的方式,在C#中实现该算法。具体就是写个函数,函数内部调...
  • Kelvin_Yan
  • Kelvin_Yan
  • 2014-12-02 14:22:18
  • 3439

图像处理的一般流程(opencv)

图像处理的基本流程
  • liuguangsuiyue
  • liuguangsuiyue
  • 2017-12-08 15:17:50
  • 153

opencv基本的几个图像处理函数

转眼大学四年就要过去了,终于到了做毕设的时候。选的题目我只能说比较僵,目标跟踪。。。根本不会,不过研究生导师是搞这方面的,早点学习一下也挺不错的。 我老师给我的要求是使用opencv编写一个目标跟踪的...
  • ZouCharming
  • ZouCharming
  • 2017-04-04 21:14:20
  • 1464

Java之常用函数笔记

Java中有很多常用的小函数,跟python中很多内置的函数是一样的性质,如:sorted()、strip()、replace()等等,今天简单的总结了一下我使用最多的几个字符串、数字、日期相关的函数...
  • Together_CZ
  • Together_CZ
  • 2017-06-30 22:37:30
  • 359

【OpenCV】OpenCV3的第三天——OpenCV常用函数清单(更新中)

记录一下在使用OpenCV过程中遇到的常用函数: 1、imread ——读取图片 2、imshow ——显示 3、namedWindow ——窗口 4、imwrite ——输出图片 5、creat...
  • Taily_Duan
  • Taily_Duan
  • 2016-03-31 15:36:15
  • 1331

一些常用函数的曲线图及应用简说

0:关于基本数学应用的问题:     我的一些市场分析博文中,用了一些很浅显的数学知识,但仍有博友觉得不大好理解。我采集了一些常用的基本函数的曲线和简单说明,以备速查。   1:正弦余弦曲线:更...
  • qyxls
  • qyxls
  • 2015-07-01 09:54:08
  • 2041

opencv图像处理基本操作

1:读取图片 #include #include int main() { IplImage *img = 0; img = cvLoadImage("/home/todayac...
  • u011403366
  • u011403366
  • 2016-01-21 17:01:50
  • 1310

OpenCV_(2):常用数据结构和函数

首先介绍几个常用的结构体: Point2f p(6,2); //二维点 Point3f p3f(8,2,0); //三维点 vector v; vector Points(20);接下来就是几个常用的...
  • chuhang_zhqr
  • chuhang_zhqr
  • 2016-06-30 16:51:22
  • 1792

opencv 中图像处理的一般流程——面向对象

图像处理算法opencv实现的通用框架,很实用,总结如下。 将要处理的图片当做参数传递给算法类,每个算法都做一个类 算法类的定义             1.必要的参数,参数的set,get函数;...
  • libin88211
  • libin88211
  • 2014-03-09 20:20:05
  • 1528
收藏助手
不良信息举报
您举报文章:Opencv学习笔记(c++)——基本常用函数及一些图像处理基本方法
举报原因:
原因补充:

(最多只允许输入30个字)