位置: IT常识 - 正文

图像边缘检测(图像边缘检测的基本原理)

编辑:rootadmin
图像边缘检测 文章目录前言一、图像边缘检测二、边缘检测算子1. Roberts算子2. Prewitt算子3. Sobel算子三、代码实现总结前言

推荐整理分享图像边缘检测(图像边缘检测的基本原理),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:MATLAB图像边缘检测,python图像边缘检测,图像边缘检测的原理,图像边缘检测实验报告,图像边缘检测实验报告,图像边缘检测方法,图像边缘检测方法,图像边缘检测算子中抗噪性能最好的是,内容如对您有帮助,希望把文章链接给更多的朋友!

  有了图像放大缩小,图像灰度化处理等相关基础知识过后,就可以进行图像边缘检测了。边缘检测最后也会在FPGA上面实现,此处小编已经控制不住要剧透了。也是一样,先从软件的角度来理解这些图像边缘检测算法。

一、图像边缘检测

  边缘检测原理如下动态图所示。假如你有一些别人发明的算子,算子在第二章介绍。使用算子在原图上进行扫描,算子中的值乘以对应的像素值,然后加起来就行了。你可以使用截图工具,截取动态图,计算一下是否正确。

二、边缘检测算子图像边缘检测(图像边缘检测的基本原理)

  算子其实就是滤波器,在深度学习里面又叫卷积,下面3种算子给出了具体的值,而在卷积神经网络里面,卷积核的值是需要训练得到。

1. Roberts算子

Gx=[1−1]Gy=[−11]G_x = \begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix} \quad\quad\quad G_y = \begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix}Gx​=[10​0−1​]Gy​=[01​−10​]

2. Prewitt算子

Gx=[−11−11−11]Gy=[−1−1−1111]G_x = \begin{bmatrix} -1 & 0 & 1\\ -1 & 0 & 1\\ -1 & 0 & 1 \end{bmatrix} \quad\quad\quad G_y = \begin{bmatrix} -1 & -1 & -1\\ 0 & 0 & 0\\ 1 & 1 & 1 \end{bmatrix}Gx​=​−1−1−1​000​111​​Gy​=​−101​−101​−101​​

3. Sobel算子

Gx=[−1+1−2+2−1+1]Gy=[+1+2+1−1−21]G_x = \begin{bmatrix} -1 & 0 & +1\\ -2 & 0 & +2\\ -1 & 0 & +1 \end{bmatrix} \quad\quad\quad G_y = \begin{bmatrix} +1 & +2 & +1\\ 0 & 0 & 0\\ -1 & -2 & 1 \end{bmatrix}Gx​=​−1−2−1​000​+1+2+1​​Gy​=​+10−1​+20−2​+101​​

三、代码实现# robert算子robert_x = np.array([[1, 0], [0, -1]])robert_y = np.array([[0, -1], [1, 0]])# prewitt算子 prewitt_x = np.array([[-1, 0, 1], [-1, 0, 1], [-1, 0, 1]])prewitt_y = np.array([[1, 1, 1], [0, 0, 0], [-1, -1, -1]])# sobel算子 sobel_x = np.array([[-1, 0, +1], [-2, 0, +2], [-1, 0, +1]])sobel_y = np.array([[+1, +2, +1], [0, 0, 0], [-1, -2, -1]])# 图像灰度处理 def weight_gray(image): weight_image = image[:, :, 0] * 0.11 + image[:, :, 1] * 0.59 + image[:, :, 2] * 0.3 weight_image = weight_image.astype(np.uint8) return weight_image # 图像边缘检测 def edge_dimage(image, operator): shape = image.shape h, w = shape sh, sw = operator[0].shape sobel_image = np.zeros(image.shape) for i in range(h - sh): for j in range(w - sw): ix = np.multiply(image[i: i + sh, j: j + sw], operator[0]) iy = np.multiply(image[i: i + sh, j: j + sw], operator[1]) ix = np.sum(ix) iy = np.sum(iy) ig = np.sqrt(ix ** 2 + iy ** 2) sobel_image[i, j] = ig sobel_image = sobel_image.astype(np.uint8) return sobel_imageimage = cv2.imread("three_body.jpg") gray = weight_gray(image)roimage = edge_dimage(gray, (robert_x, robert_y)) primage = edge_dimage(gray, (prewitt_x, prewitt_y)) sbimage = edge_dimage(gray, (sobel_x, sobel_y))# 画子图plt.figure(figsize=(10, 7))plt.subplot(221)plt.title("gray")plt.imshow(gray, cmap='gray')plt.subplot(222)plt.title("sobel")plt.imshow(sbimage, cmap='gray')plt.subplot(223)plt.title("roberts")plt.imshow(roimage, cmap='gray')plt.subplot(224)plt.title("prewitt")plt.imshow(primage, cmap='gray')

总结

  这大概就是卷积神经网络的由来,以前叫做算子,现在叫做卷积。小编也迫不及待的想要动手实现卷积神经网络了(numpy),敬请期待。

本文链接地址:https://www.jiuchutong.com/zhishi/299560.html 转载请保留说明!

上一篇:css的rotate3d实现炫酷的圆环转动动画(css设置3d)

下一篇:记一次调试YOLOv5+DeepSort车辆跟踪项目的经过

  • 如何做好网店,促进销售量(如何做好网店的客户关系管理)

    如何做好网店,促进销售量(如何做好网店的客户关系管理)

  • 微博怎么群发私信给好友圈(微博怎么群发私信给关注的人)

    微博怎么群发私信给好友圈(微博怎么群发私信给关注的人)

  • 抖音花瓣特效怎么弄(抖音花瓣特效怎么弄在图片上)

    抖音花瓣特效怎么弄(抖音花瓣特效怎么弄在图片上)

  • 苹果6.1寸手机是什么型号(苹果6.1寸是多大)

    苹果6.1寸手机是什么型号(苹果6.1寸是多大)

  • 条形码阅读器属于什么设备(条形码阅读器属于什么输入设备)

    条形码阅读器属于什么设备(条形码阅读器属于什么输入设备)

  • 锐化和清晰度区别(锐化高好还是低好)

    锐化和清晰度区别(锐化高好还是低好)

  • 抖音怎么分享到微信(抖音怎么分享到QQ好友)

    抖音怎么分享到微信(抖音怎么分享到QQ好友)

  • 淘宝订单有些不能转卖(淘宝订单不存在是怎么回事)

    淘宝订单有些不能转卖(淘宝订单不存在是怎么回事)

  • 公交车刷码怎么弄的(公交车刷码怎么扣钱的)

    公交车刷码怎么弄的(公交车刷码怎么扣钱的)

  • 尼泊尔电源插头标准(尼泊尔的插头是什么样的)

    尼泊尔电源插头标准(尼泊尔的插头是什么样的)

  • 电脑重装系统后文件还在吗(电脑重装系统后怎么恢复之前的数据)

    电脑重装系统后文件还在吗(电脑重装系统后怎么恢复之前的数据)

  • pdf格式用什么软件打开(pdf格式用什么软件)

    pdf格式用什么软件打开(pdf格式用什么软件)

  • 手机缓存的视频能导入电脑看嘛(手机缓存的视频在哪里找)

    手机缓存的视频能导入电脑看嘛(手机缓存的视频在哪里找)

  • 微信绑定的手机号注销了怎么办(微信绑定的手机号可以更换吗)

    微信绑定的手机号注销了怎么办(微信绑定的手机号可以更换吗)

  • 手机不能扫二维码怎么办(手机不能扫二维码是什么原因)

    手机不能扫二维码怎么办(手机不能扫二维码是什么原因)

  • 手机怎么设置所有号码打不进来(手机怎么设置所有电话录音)

    手机怎么设置所有号码打不进来(手机怎么设置所有电话录音)

  • 探探老是发短信怎么取消(探探为啥老是发短信)

    探探老是发短信怎么取消(探探为啥老是发短信)

  • opporeno是什么材质(oppo reno属于哪个系列)

    opporeno是什么材质(oppo reno属于哪个系列)

  • 微信动图太大无法添加怎么办(微信动图太大无法播放)

    微信动图太大无法添加怎么办(微信动图太大无法播放)

  • 趣步行的步数怎样和微信同步(趣步怎么刷步数)

    趣步行的步数怎样和微信同步(趣步怎么刷步数)

  • 一加7pro是双卡双待吗(一加7pro双卡吗?用起来有没有不方便)

    一加7pro是双卡双待吗(一加7pro双卡吗?用起来有没有不方便)

  •  oppor17怎么连接电脑传文件(oppor17怎么连接蓝牙耳机连不上)

    oppor17怎么连接电脑传文件(oppor17怎么连接蓝牙耳机连不上)

  • 华为荣耀v10电池容量(华为荣耀v10电池多少钱)

    华为荣耀v10电池容量(华为荣耀v10电池多少钱)

  • Linux如何过滤空文件?Linux过滤空文件的命令总结(linux grep过滤空白行)

    Linux如何过滤空文件?Linux过滤空文件的命令总结(linux grep过滤空白行)

  • 应交税费科目的借贷方向
  • 装修公司财务报销制度和流程
  • 公司中介费收入如何纳税
  • 银行收取的账户管理费是什么费用
  • 营运资产周转次数平均值
  • 无形资产价值评估收费
  • 企业所得税季度申报表A类
  • 所得税退税怎么办
  • 收入支出结余公式原理
  • 小规模季度不超过30万元免税会计分录
  • 什么是资本性支出和支出
  • 投资企业应确认投资收益的有
  • 临时占用耕地可以种树吗
  • 按应收账款余额计提坏账准备的会计分录
  • 支付一年房租计入什么科目
  • 节税租赁和销售的区别
  • 人力资源劳务费发票税率
  • 减半征收企业所得税税率
  • 股东拿不到钱
  • 预售房提前还款需要去解押吗
  • 农业企业土地租赁费账务处理
  • 全额拨款事业单位工资都一样吗
  • 房屋出售缴纳税种
  • 以公司名义办宽带怎么办
  • 小规模纳税人不用交增值税吗
  • 进项税额异常补税怎么算
  • 现金存入对公账户用途写什么
  • 验资报告办理一般需要多久时间
  • 17%和6%的票能直接抵扣吗?
  • 住房公积金是福利费吗
  • 普通发票要写增值税吗
  • 资产处置损失减少的原因
  • 银行票据abs付款的几种方式
  • linux怎么设置
  • 收到上级工会下拨的工会经费
  • 桌面鼠标右键菜单设置
  • 未开票收入怎么计算增值税
  • windows10如何显示桌面图标
  • 苹果mac os x 10.7.5
  • 应收存款利息计入什么科目
  • 企业向银行贷款要交印花税吗
  • 十分钟带你了解阿氏圆
  • 货到付款怎么做账
  • wordpress创建
  • php 提交表单
  • 利息收入属于什么税目
  • 帝国cms使用手册
  • 织梦内容页模板修改
  • mysql命令的常用参数包括什么
  • 固定资产报废的请示
  • 应收利息缴纳什么税
  • 库存商品怎么结转收入
  • 残保金账务处理会计科目
  • 付承包费计入什么科目
  • 车间购买劳保费用会计分录
  • 递延所得税当前试用25%,以后15%
  • 地下车库的成本和房子哪个高
  • 应付账款怎么处理
  • 无形资产如何摊销公式
  • 外埠存款主要使用范围
  • 影视公司临时演员怎么办
  • 资金结余率怎么算
  • 给股东分利润怎么做账
  • linux系统中
  • winxp 证书错误
  • centos安装zsh
  • win7 64位旗舰版电脑鼠标如何才能设置成左手操作?设置鼠标为左手操作的方法
  • node.js jquery
  • 置顶在线
  • python 管理内存
  • linux -lc
  • javascript基础教程pdf下载
  • 引用jquery后没反应
  • 甘肃职称申报评审入口官网
  • 增值税普通电子发票有什么用
  • 国税局宁夏税务
  • 小规模企业零申报怎么操作
  • 增值税电子普通发票和普通发票区别
  • 哪个部门负责药品检验
  • 公司收购农民的农产品能贴我公司标签吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设