图像处理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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用国内代理源进行下载安装第三方库

    使用国内代理源进行下载安装第三方库

    2021年11月10日
    49
  • 推荐几个不错的PyCharm插件[通俗易懂]

    推荐几个不错的PyCharm插件[通俗易懂]软硬件环境windows1064bitpycharm2020.1.2前言可能很多人在使用pycharm的时候压根就没有安装过插件,毕竟pycharm已经足够强大了。但是,这并不妨碍…

    2022年8月27日
    6
  • git拉取代码如何解决冲突_Git工具-git pull拉取代码时冲突的解决办法[通俗易懂]

    git拉取代码如何解决冲突_Git工具-git pull拉取代码时冲突的解决办法[通俗易懂]一,在使用gitpull命令拉取代码时,有时会遇到以下错误信息:error:Yourlocalchangestothefollowingfileswouldbeoverwrittenbymerge:…Pleasecommityourchangesorstashthembeforeyoumerge.AbortingUpdating1d17a2c5..3de3e123可按以下步骤解决此问题:1.先将本地修改存储起来使用gitst

    2022年10月8日
    4
  • HONOR荣耀50/荣耀50Pro怎么解锁huawei 荣耀50pro屏幕锁开机锁激活设备锁了应该如何强制解除鸿蒙系统刷机解锁方法流程步骤不开机跳过锁屏移除锁定进系统方法经验

    HONOR荣耀50/荣耀50Pro怎么解锁huawei 荣耀50pro屏幕锁开机锁激活设备锁了应该如何强制解除鸿蒙系统刷机解锁方法流程步骤不开机跳过锁屏移除锁定进系统方法经验今天带来一台用户华为荣耀50手机强制清除华为账号锁案例分享,这个台手机是用户公司手机,由于前使用者离职后未能退出手机的华为账号和锁屏密码,导致手机无法使用。自己通过简单的恢复出厂设置后,发现手机有华为账号锁无法激活手机,这才联系到刷机爱好者技术人员,给予远程强制刷机移除华为荣耀60的账号锁。在此提醒广大用户,登录的华为账号建议绑定经常使用的手机号码,防止无法找回密码从而到时手机无法使用。在刷机解锁过程中需要准备以下工具:链接:百度网盘请输入提取码提取码:8888备用下载连接:yun.p

    2022年6月19日
    481
  • allure安装配置「建议收藏」

    allure安装配置「建议收藏」一、下载allurehttps://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.7.0/allure-2.7.0.zip二、检查本机是否有java的运行环境1、win+r输入cmd回车打开终端窗口打开效果入下2、输入java回车安装成功效果如下:安装未成功效果如下:3、输入javac回车…

    2022年7月26日
    14
  • rtp协议详解

    rtp协议详解RTP的头部格式版本号(V):2比特,用来标志使用的RTP版本。填充位(P):1比特,如果该位置位,则该RTP包的尾部就包含附加的填充字节。扩展位(X):1比特,如果该位置位的话,RTP固定头部后面就跟有一个扩展头部。CSRC计数器(CC):4比特,含有固定头部后面跟着的CSRC的数目。标记位(M):1比特,该位的解释由配置文档(Profile)来承担….

    2022年6月28日
    40

发表回复

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

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