图像处理5:Sobel边缘检测算子(C++)[通俗易懂]

图像处理5:Sobel边缘检测算子(C++)[通俗易懂]voidCMFCworkDlg::OnBnClickedButton7(){ //TODO:在此添加控件通知处理程序代码 //Sobel算子边缘检测 Matimage=imread(“ema.jpg”,1); Matimage_gray=gray_img(image); Matgradx,grady; gradx.create(image.size(),CV_8UC1); grady.create(image.size(),CV_8UC1); for..

大家好,又见面了,我是你们的朋友全栈君。

在这里插入图片描述
在这里插入图片描述

void CMFCworkDlg::OnBnClickedButton7()
{ 
   
	// TODO: 在此添加控件通知处理程序代码
	// Sobel算子边缘检测
	Mat image = imread("ema.jpg", 1);
	Mat image_gray = gray_img(image);
	Mat gradx,grady;

	gradx.create(image.size(), CV_8UC1);
	grady.create(image.size(), CV_8UC1);


	for (int i = 1; i < image.rows-1; i++)
	{ 
   
		for (int j = 1; j < image.cols-1; j++)
		{ 
   
			gradx.at<uchar>(i, j) = saturate_cast<uchar>(fabs(image_gray.at<uchar>(i + 1, j - 1) + 2 * image_gray.at<uchar>(i + 1, j) + image_gray.at<uchar>(i + 1, j +1) -image_gray.at<uchar>(i - 1, j - 1) - 2 * image_gray.at<uchar>(i - 1, j) - image_gray.at<uchar>(i - 1, j + 1)));
			grady.at<uchar>(i, j) = saturate_cast<uchar>(fabs(image_gray.at<uchar>(i - 1, j + 1) + 2* image_gray.at<uchar>(i , j + 1)+ image_gray.at<uchar>(i+1,j+1)-image_gray.at<uchar>(i-1,j-1)-2*image_gray.at<uchar>(i,j-1)-image_gray.at<uchar>(i+1,j-1)));
		}
	}
	imshow("灰度图", image_gray);
	imshow("gradx", gradx);
	imshow("grady", grady);
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159853.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm自带python环境吗_Python IDE环境之 新版Pycharm安装详细教程[通俗易懂]

    pycharm自带python环境吗_Python IDE环境之 新版Pycharm安装详细教程[通俗易懂]PyCharm简介:PyCharm是一种PythonIDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。PyCharm安装:1.下载完毕直接打开安装,安装过程中需要注意以下几点:2.完毕之后,到此界面:0…

    2022年8月29日
    1
  • IOCP一:AcceptEx「建议收藏」

    IOCP一:AcceptEx「建议收藏」IOCP底层机理还没有透彻的理解,现将部分内容记录如下2014.7.2216:50把完成端口理解为完成队列。投递的异步IO请求完成后会携带三参数返回。异步IO请求分为:连接、接收、发送,分别

    2022年7月2日
    37
  • 空间矢量脉冲宽度调制(SVPWM)Simulink仿真教程

    空间矢量脉冲宽度调制(SVPWM)Simulink仿真教程目录SVPWM仿真主体结构扇区选择模块XYZ计算模块矢量作用模块切换时间判断模块三角波模块开关信号模块输出信号模块输出结果SVPWM参考文献​SVPWM仿真主体结构扇区选择模块原理基于原理搭建基于原理的s函数扇区输出结果XYZ计算模块原理基于原理搭建模块仿真结果矢量作用模块原理基于原理搭建模块仿真结果切换时间判断模块原理…

    2025年6月17日
    3
  • 贴片铝电容识别及型号_TDK贴片电容识别方法及命名规则[通俗易懂]

    贴片铝电容识别及型号_TDK贴片电容识别方法及命名规则[通俗易懂]原标题:TDK贴片电容识别方法及命名规则TDK贴片电容识别方法及命名规则,TDK是TokyoDenkikagakuKogyoK.K的简称。是日本的一个品牌。今天我们一起来学习一下如何识别TDK的贴片电容。拿到一般TDK的电容,料盘上会有TDK字样的标示。分上下两个标,上标是小标。下标是大标。TDK的标识是在大标上面。TDK贴片电容的参数一般由系列名称,体积,材质,电压,容量,误差,包装组成…

    2022年8月21日
    7
  • git切换分支并与远程分支关联_git 拉取分支

    git切换分支并与远程分支关联_git 拉取分支git切换远程分支为developgitpush–set-upstreamorigin分支名gitpush–set-upstreamorigindevelop

    2022年9月21日
    2
  • windows常用命令行命令

    windows常用命令行命令

    2021年10月20日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号