卷积应用-图像边缘提取

卷积应用-图像边缘提取
边缘是什么 – 是像素值发生跃迁的地方,是图像的显著特征之一,
在图像特征提取、对象检测、模式识别等方面都有重要的作用。
如何捕捉/提取边缘 – 对图像求它的一阶导数
- delta = f(x) – f(x-), delta越大,说明像素在X方向变化越大,边缘信号越强
Sobel算子
是离散微分算子(discrete differentiation operator),
用来计算图像灰度的近似梯度Soble算子功能集合高斯平滑和微分求导
又被称为一阶微分算子,求导算子,在水平和垂直两个方向上求导,得到图像X方法与Y方向梯度图像

cv::Sobel (
InputArray Src // 输入图像
OutputArray dst // 输出图像,大小与输入图像一致
int depth // 输出图像深度.
Int dx // X方向,几阶导数
int dy // Y方向,几阶导数.
int ksize // SOBEL算子kernel大小,必须是1、3、5、7、
double scale =
double delta =
int borderType = BORDER_DEFAULT
)
cv::Scharr (
InputArray Src // 输入图像
OutputArray dst // 输出图像,大小与输入图像一致
int depth // 输出图像深度
Int dx. // X方向,几阶导数
int dy // Y方向,几阶导数
double scale =
double delta =
int borderType = BORDER_DEFAULT
)
其他API
GaussianBlur( src, dst, Size(,), , , BORDER_DEFAULT );
cvtColor( src, gray, COLOR_RGB2GRAY );
addWeighted( A, 0.5,B, 0.5, , AB);
convertScaleAbs(A, B)// 计算图像A的像素绝对值,输出到图像B
int main(int argc, char** argv) {
Mat src, dst;
src = imread(STRPAHT2);
if (!src.data) {
printf("could not load image...\n");
return -;
} Mat gray_src;
GaussianBlur(src, dst, Size(, ), , , BORDER_DEFAULT);
cvtColor(dst, gray_src, CV_BGR2GRAY);
//imshow("gray image", gray_src); Mat xgrad, ygrad; //Scharr(gray_src, xgrad, CV_16S, 1, 0, 3);
//Scharr(gray_src, ygrad, CV_16S, 0, 1, 3);
//convertScaleAbs(xgrad, xgrad);
//convertScaleAbs(ygrad, ygrad);
//imshow("xgrad", xgrad);
//imshow("ygrad", ygrad); Sobel(gray_src, xgrad, CV_16S, , , );
Sobel(gray_src, ygrad, CV_16S, , , );
convertScaleAbs(xgrad, xgrad);
convertScaleAbs(ygrad, ygrad);
imshow("xgrad", xgrad);
imshow("ygrad", ygrad); waitKey();
return ;
}

最新文章

  1. 6、Samba 服务器配置
  2. mysql5.7 密码策略
  3. Git本地仓库
  4. 【读书笔记】iOS网络-使用推送通知
  5. 注意kvm在安装虚机的时候不能把存放虚机的文件放在/root 下面
  6. linux第5天 socket api
  7. 如果使用得当,MySQL 也可以化身 NoSQL
  8. JS触发ASP.NET服务器端控件的方法
  9. 利用绝对定位与margin实现元素居中
  10. tyvj P1864 [Poetize I]守卫者的挑战(DP+概率)
  11. 论山寨手机与Android 【11】移动网络规范的合纵连横
  12. Java Object 引用传递和值传递
  13. linux expr命令参数及用法详解
  14. NumPy基础练习(练一遍搞定NumPy)
  15. NHibernate从入门到精通系列(1)——NHibernate概括
  16. BZOJ 4727: [POI2017]Turysta
  17. uwsgi+anaconda+nginx部署django项目(ubuntu下)
  18. 第四周博客之一---Linux的基本命令(前5个)
  19. vim配置之目录结构
  20. Java Web整合开发王者归来(JSP + Servlet + Struts + Hibernate + Spring) - 读书笔记

热门文章

  1. 使用python合并excel
  2. Linux 笔记 - 第十四章 LAMP 之(二) 环境配置
  3. 查看 Linux 系统版本信息
  4. 47 (OC)* OC反射机制
  5. Hadoop入门 之 Hadoop的安装
  6. svn新建文件不能提交的解决方法
  7. 夯实Java基础系列9:深入理解Class类和Object类
  8. 关于CDH集群spark的三种安装方式简述
  9. OKR群:为什么说每个程序员都应该有自己的个人OKR
  10. 虚拟现实中的Motion Sickness晕动症问题 - VIMS