cvFilter2D() 卷积初步了解
简单定义:卷积是分析数学中一种重要的运算。
设:f(x),g(x)是R1上的两个可积函数,作积分:
可以证明,关于几乎所有的实数x,上述积分是存在的。这样,随着x的不同取值,这个积分就定义了一个新函数h(x),称为函数f与g的卷积,记为h(x)=(f*g)(x)。
容易验证,(f * g)(x) = (g * f)(x),并且(f * g)(x)仍为可积函数。这就是说,把卷积代替乘法,L1(R1)空间是一个代数,甚至是巴拿赫代数。
卷积与傅里叶变换有着密切的关系。利用一点性质,即两函数的傅里叶变换的乘积等于它们卷积后的傅里叶变换,能使傅里叶分析中许多问题的处理得到简化。
由卷积得到的函数f*g一般要比f和g都光滑。特别当g为具有紧致集的光滑函数,f为局部可积时,它们的卷积f * g也是光滑函数。利用这一性质,对于任意的可积函数f,都可以简单地构造出一列逼近于f的光滑函数列fs,这种方法称为函数的光滑化或正则化。
离散化并在有限区域内的卷积:
通过构建不同的内核,达到不同的卷积效果,如:滤波等
所以平时可以多积累内核模板
测试用图
程序代码:
#include <highgui.h>
#include<cv.h>
#include <opencv2/legacy/legacy.hpp>
using namespace std;int main()
{double A[9]={1.0,-2.0,1.0,4.0,-2.0,-1.0,4.0,-2.0,2.0}; CvMat kernel = cvMat(3,3,CV_32FC1,A);IplImage *img_in = cvLoadImage("test.jpg");cvNamedWindow("img_in",CV_WINDOW_AUTOSIZE);cvShowImage("img_in",img_in);IplImage *img_out = cvCreateImage(cvGetSize(img_in),IPL_DEPTH_8U,3);cvFilter2D(img_in,img_out,&kernel,cvPoint(-1,-1));cvNamedWindow("img_out",CV_WINDOW_AUTOSIZE);cvShowImage("img_out",img_out);cvWaitKey(0);cvDestroyAllWindows();cvReleaseImage(&img_in);cvReleaseImage(&img_out);return 0;
}
运行结果:
cvFilter2D() 卷积初步了解相关推荐
- 第六章 - 图像变换 - 卷积(cvFilter2D)
第五章终于翻篇了,看自己写的东西还是觉得思维很混乱,有些东西理解的不深入,一直处于似的非懂的状态.但是第一遍的学习希望能建立一个知识框架,了解一个大概,毕竟刚入门图像,等到第二遍的时候再细细考究每一个 ...
- 卷积神经网络初步认知
1:卷积神经网络 自然语言处理中N-Gram模型介绍:https://zhuanlan.zhihu.com/p/32829048 CNN为什么能使用在NLP?:https://zhuanlan.zhi ...
- 卷积神经网络初步(零):从原始汤到细胞
前言 生物界将生命的起源看作是一场必然的巧合. 曾几何时,地表尚处一片汪洋之中.剧烈的板壳运动可谓此起彼伏遥相应和.当是时,无论从何等的角度,那片汪洋也无法被称作生命的摇篮.灼热的水体不时沸腾,火山中 ...
- 推荐系统笔记(十七):对超图、超图卷积、超图注意力的初步理解和应用(HyperGCN)
背景 图神经网络在各个研究领域引起了广泛的关注并取得了显著的成绩.大多数算法都假设图中节点是成对出现的,即一条边只能连接两个节点.然而,在许多实际应用中,对象之间的关系是高阶的,超出了成对关系,可能会 ...
- 一文读懂简化的图卷积网络GCN(SGC)| ICML 2019
作者 | yyl424525 来源 | CSDN博客 文章目录 1 相关介绍 1.1 Simple Graph Convolution (SGC)提出的背景 1.2 SGC效果 2 Simple Gr ...
- 一文了解卷积神经网络在股票中应用
译者 | 阿尔法计算生(个人微信:ixci001) 摘要 卷积神经网络使计算机视觉领域发生了革命性的变化.本文探讨了CNNs的一个典型应用:利用卷积网络来预测股票价格的变动,即利用卷积网络来预测过去价 ...
- 干货|利用卷积自编码器对图片进行降噪
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 前言: 这周工作太忙,本来想更把Attention tranlsa ...
- 基于卷积神经网络的垃圾图像分类算法
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 垃圾分类作为资源回收利用的重要环节之一, 可以有效地提高资源回收利 ...
- 机器学习-卷积神经网络简介
一.简介 CNN由对输入进行过滤(卷积)以获得有用信息的层组成. 这些卷积层具有可以学习的参数(内核),因此可以自动调整这些过滤器以提取针对手头任务的最有用信息,而无需选择特征. CNN最好与图像一起 ...
- AI圈真魔幻!谷歌最新研究表明卷积在NLP预训练上竟优于Transformer?LeCun暧昧表态...
作者 | 陈大鑫.琰琰 转自:AI科技评论 AI 圈太是太魔幻了! 众所周知,近一年来Transformer火的很,把Transformer用在视觉领域真是屡试不爽,先是分类后是检测,等等等等,每次都 ...
最新文章
- 1114. Family Property (25)
- mysql释放练级_面试官:谈谈Mysql事务隔离级别?
- C#之windows桌面软件第十二课:电脑ADC值显示(上位机),记忆上次串口号,并用TrackBar控件显示ADC值
- 测开之路十五:构造函数、析构函数
- 【控制】《多无人机协同控制技术》周伟老师-第12章-基于 Multi-Agent 的多无人机协同控制仿真平台的设计与实现
- 王道计算机考研 数据结构 (树与二叉树)
- pythonjson中list操作_python3中json与JsonPath用法详解
- Java中的读/写锁
- eventfd man
- 研究c语言,研究c语言计算机编程实验.docx
- .htaccess文件玩转Rewrite
- PHP读取表格都是精度,php 小数精度问题
- Unity Animator动画状态机 深入理解(一)
- Centos系统修改远程端口
- 计算机excel求四分位数,四分位数怎么算excel?
- 网站备案需要买服务器吗,域名备案需要购买服务器吗
- 工厂模式以及应用简单解释
- GPU显存占满但利用率却很低
- OpenJ_Bailian - 2711
- myeclipse中遇到代码run as后只有run configurations的情况
热门文章
- shell获取当前目录名的几种方法
- [CSS3]制作50个超棒动画效果教程
- MyEclipse创建Maven工程
- 【笔记】android应用签名
- ubuntu 新建用户
- Gradle基础介绍
- BZOJ2038[2009国家集训队] 小Z的袜子(hose)
- 1007	计算(a+b)*c的值
- java opencv gamma_OpenCV函数cvAddWeighted调整alpha和gamma值 | 学步园
- github桌面版_桌面版Linux内核介绍