图像卷积回顾与计算优化(待续)
2014-01-21 23:12
204 查看
卷积及其计算方法是《信号与系统》与《数字信号处理》课程的一个核心知识点,谈及应用,我倒是能用的过来,在图像中简单地说就是掩模相乘,不过上次师兄谈及一个卷积优化方法,我想了想居然只想到行列分开这个。现在只能重新复习一下知识点。
学图像的应该都知道,卷积运算在图像处理领域应用相当广泛,例如在图像滤波、增强、分析等处理时都要用到卷积运算,它实质上是一种矩阵运算,其特点是运算量大,并且数据复用率高。
下面首先来回顾一下一维卷积:
卷积定义:
而在图像处理中,用得主要是离散二维卷积
OpenCV中的卷积函数
filter2D——对图像作卷积运算.
C++: void filter2D(InputArray src, OutputArray dst, int ddepth, InputArray kernel, Point anchor=Point(-1,-1), double delta=0, int borderType=BORDER_DEFAULT )
C: void cvFilter2D(const CvArr* src, CvArr* dst, const CvMat* kernel, CvPoint anchor=cvPoint(-1,-1) )
参数:
Matlab中的卷积及例子
线性卷积与圆周卷积的区别
学图像的应该都知道,卷积运算在图像处理领域应用相当广泛,例如在图像滤波、增强、分析等处理时都要用到卷积运算,它实质上是一种矩阵运算,其特点是运算量大,并且数据复用率高。
下面首先来回顾一下一维卷积:
卷积定义:
而在图像处理中,用得主要是离散二维卷积
OpenCV中的卷积函数
filter2D——对图像作卷积运算.
C++: void filter2D(InputArray src, OutputArray dst, int ddepth, InputArray kernel, Point anchor=Point(-1,-1), double delta=0, int borderType=BORDER_DEFAULT )
C: void cvFilter2D(const CvArr* src, CvArr* dst, const CvMat* kernel, CvPoint anchor=cvPoint(-1,-1) )
参数:
src – 输入图像. dst –与输入图像大小相同通道数相同的输出图像 . ddepth – desired depth of the destination image; if it is negative, it will be the same as src.depth(); the following combinations of src.depth() andddepth are supported: src.depth() = CV_8U, ddepth = -1/CV_16S/CV_32F/CV_64F src.depth() = CV_16U/CV_16S, ddepth = -1/CV_32F/CV_64F src.depth() = CV_32F, ddepth = -1/CV_32F/CV_64F src.depth() = CV_64F, ddepth = -1/CV_64F when ddepth=-1, the output image will have the same depth as the source. kernel – convolution kernel (or rather a correlation kernel), a single-channel floating point matrix; if you want to apply different kernels to different channels, split the image into separate color planes usingsplit() and process them individually. anchor – anchor of the kernel that indicates the relative position of a filtered point within the kernel; the anchor should lie within the kernel; default value (-1,-1) means that the anchor is at the kernel center. delta – optional value added to the filtered pixels before storing them in dst. borderType – pixel extrapolation method (seeborderInterpolate() for details) |
Matlab中的卷积及例子
线性卷积与圆周卷积的区别
相关文章推荐
- 数字图像处理2--数学基础(傅立叶,拉普拉斯,卷积,差分计算)
- 图像处理之基础---卷积函数积分的计算和性质
- Caffe中的卷积计算(矩阵优化加速)
- 图像处理中的卷积---3.高斯卷积计算梯度
- MEC —— 优化内存与速度的卷积计算
- 图像卷积计算(存档)
- SSE图像算法优化系列十一:使用FFT变换实现图像卷积。
- SSE图像算法优化系列十一:使用FFT变换实现图像卷积。
- 利用fft2计算二维卷积 (Matlab常用图像操作)
- 十、MySQL 数据库设计与优化整理--待续
- 图像的卷积及相关
- 二值化的SIFT特征描述子及图像拼接优化
- android SQLite 优化(四)数据查询 (待续...)
- 图形图像处理-之-高质量的快速的图像缩放 上篇 近邻取样插值和其速度优化
- YUV420图像旋转90算法的优化
- 图像处理-模板、卷积的整理
- 图像处理基本算法-卷积和相关
- 转:“由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值”的解决方法
- IDRISI-ANDES教程1图像显示、计算山地阴影(HILLSHADE)及融合(Blend)
- TensorFlow基础笔记(7) 图像风格化效果与性能优化进展