OpenCV几种边缘检测的简例
来源:互联网 发布:淘宝怎么下载数据包 编辑:程序博客网 时间:2024/05/22 19:26
简单记录一下OpenCV的几种边缘检测函数的用法。
边缘检测算法
以Sobel边缘检测算法为例。
Sobel卷积核模板为:
偏导公式为:
卷积核模板的图片又是从网上抄来的,实际上我都不是很确定
不过到这里其实还只是做了一半,因为还只是算出来了
公式(8.1)是梯度向量,梯度幅值为用公式(8.2)。但在实际使用中,为了提高计算的速度,我们可以用式(8.3)、(8.4)(8.5)来近似。(8.6)是梯度向量的方向角公式。
所以,在计算出(i,j)处的
边缘检测大体都是这样,不同的算子只是卷积核不同。其实只要理解了图像数据是怎么进行卷积计算的,都可以自己设计算子,当然效果要好才有用。
附上一个OpenCV的几个边缘检测函数的简单使用的栗子。
#include "stdafx.h"#include "cv.h"#include "highgui.h"using namespace cv;int main(int argc, char* argv[]){ Mat src = imread("F:\\picture\\cv53.jpg"); Mat dst; //输入图像 //输出图像 //输入图像颜色通道数 //x方向阶数 //y方向阶数 //Sobel(src,dst,src.depth(),1,1); //imwrite("sobel.jpg",dst); //输入图像 //输出图像 //输入图像颜色通道数 //Laplacian(src,dst,src.depth()); //imwrite("laplacian.jpg",dst); //输入图像 //输出图像 //彩色转灰度 cvtColor(src,src,CV_BGR2GRAY); //canny只处理灰度图 //输入图像 //输出图像 //低阈值 //高阈值,opencv建议是低阈值的3倍 //内部sobel滤波器大小 Canny(src,dst,50,150,3); imwrite("canny71.jpg",dst); imshow("dst",dst); waitKey(); return 0;}
想测试那种边缘检测,就把注释修改一下即可。
0 0
- OpenCV几种边缘检测的简例
- OpenCV几种边缘检测的方法
- Opencv中的几种边缘检测算法
- 几种边缘检测的方法
- Opencv的Canny边缘检测
- 基于opencv的边缘检测
- opencv笔记(一):边缘检测的4种算子
- 几种图像边缘检测算子的比较
- 几种边缘检测微分算子的比较
- 基于opencv的多种边缘算子的边缘检测
- Opencv之简单的边缘检测
- OpenCV边缘检测的详细参数调节
- Sobel边缘检测的OpenCV实现
- 【OpenCV】Canny 边缘检测
- Opencv边缘检测
- opencv-canny边缘检测
- OpenCV边缘检测
- opencv canny边缘检测
- code 2185 最长公共上升子序列 (dp)
- HDU 1863 通畅工程
- HDU2090 一道不提交不知道对错的题 水题
- 线性表01:顺序表 利用数组实现顺序表
- RANSAC算法
- OpenCV几种边缘检测的简例
- 算法总结(11)--伪递归,dfs,动态规划题,需要转换下思路
- HDU2091 打印 等腰空心字符串
- 一球从100米高空自由落下,每次落地后又反弹至原高度的一半,又落下,求它在第十次落地时,共经历多少米?第十次反弹多高?
- Linux的磁盘管理
- sphinx增量索引和主索引来实现索引的实时更新
- Labwindows CVI写上位机与STM32下位机通信(二)
- HDU2092 整数解 想起暴力电脑一愣一愣就想笑
- 图层叠加