
OpenCV入门
浅陌风行
这个作者很懒,什么都没留下…
展开
-
imwrite()函数生成带透明通道的png图像
用opencv的imwrite()函数生成带透明通道的png图像#include <vector>#include <stdio.h>#include<opencv2/opencv.hpp>using namespace cv;using namespace std;//--------------------------------【createAlphaMa...原创 2018-05-03 16:51:35 · 2289 阅读 · 0 评论 -
opencv中读取图像的绝对路径问题
之前在接触opencv编一个显示图像的简单程序遇到这样一个问题:把图片放在工程库目录下,也就是所谓的相对路径,能够正确的显示图像;可当我采用绝对路径时就会出现问题。看一下这个例子:#include#include#includeusing namespace cv;int main(){Mat I=imread("C:\Users\Administrator\Desktop\图库\a.jpg");...转载 2018-05-04 19:09:14 · 1581 阅读 · 0 评论 -
OpenCV 中的模板类的使用
在Opencv 中使用了大量的template模板类,是由于图像的数据类型有8位、16位、32位,整形、float 型等多种类型,不可能为每种类型都定义相关类,因此引入了模板类的概念。模板(Templates)使得我们可以生成通用的函数,这些函数能够接受任意数据类型的参数,可返回任意类型的值,而不需要对所有可能的数据类型进行函数重载。这在一定程度上实现了宏(macro)的作用。它们的原型定义可以是...原创 2018-05-06 13:40:53 · 822 阅读 · 0 评论 -
创建mat对象的几种方法
方法一:使用Mat()构造函数,这种方法简单明了,可以为图像开辟内存,指定初始值等 Mat M(4,4,CV_8UC3,Scalar(0,0,255));//创建三个通道的图像,并为其定义尺寸、及通道的初始值方法二:通过构造函数进行初始化int sz[3] = { 2,2,2 };Mat L(3, sz, CV_8UC1, Scalar::all(0));此方法可以定义超过二位的矩阵;第一个参...原创 2018-05-06 15:17:34 · 5424 阅读 · 1 评论 -
OpenCV中的LUT函数(查表法)
简单来说就是通过映射关系,将原图像的像素值进行缩减操作,比如说 table[56]=5,就表示将像素值为56的点映射为5,这种方法仅有赋值运算,不涉及乘除、加减运算,可以极大降低时间复杂度。程序源码:/*LUT查表函数的使用,结合滑动条函数*/#include <opencv2/opencv.hpp>#include "opencv2/highgui/highgui.hp...原创 2018-05-06 19:24:18 · 2368 阅读 · 2 评论 -
图像处理与计算机视觉基础,经典以及最近发展
************************************************************************************************************************************************************************************ 在这里,我特别声明...转载 2018-04-28 18:49:54 · 766 阅读 · 0 评论 -
Opencv遍历图像中的像素
方法一:通过指针访问像素为了简化指针运算,Mat类中提供了ptr函数可以得到图像任意行的首地址,ptr是一个模板类,使用时应声明变量的类型,比如在加载CV_8UC3图像时,每个像素的三个通道为uchar型所以指针类型为uchar,uchar型的指针加1后,相对原来偏移了一个uchar的大小,而不是3个通道的大小(注意和迭代法区别)关键语句:uchar *p = inputImage.ptr<...原创 2018-05-08 14:07:32 · 482 阅读 · 0 评论