位置: 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车辆跟踪项目的经过

  • 印花税征税范围是什么
  • 房产税和车船税计入应交税费吗
  • 以前年度损益调整账务处理分录
  • 小规模纳税人滚动累计
  • 收到天使投资如何做账
  • 公对公退款要交税吗
  • 财付通转账手续费多少
  • 调整企业银行存款账面余额的记账依据是什么
  • 季报每个月需要反写吗
  • 消费税可以跨年计提吗
  • 应交税费明细科目有简易计税吗
  • 申报清单怎么写
  • 小规模纳税人购买货物怎么入账
  • 购销合同印花税2023年新规定
  • 工业厂房的辅助用房
  • 销售净利率怎么求
  • 小微企业需要到哪里报税
  • 从租计征的房产税需要缴纳土地使用税吗
  • 预付的各种押金
  • 土地增值税的税率和速算扣除数
  • 收到政府部门的奖励金怎么入账
  • 苹果屏幕刷新率120hz的机型
  • codeinteger
  • leeurbanriders是什么牌子
  • 税收保全有哪些
  • linux命令行使用鼠标
  • 高薪技术企业研发项目合同范本最新
  • 我告诉你windows7旗舰版
  • php 魔术
  • 原 !神静态网页布局详解,html+css布局实战,附详细代码
  • nvm安装及全局配置node
  • vite中文网
  • php正则表达式实例
  • symfony是最好的框架
  • 工商银行电子回执单怎么查看
  • 企业清算所得税政策
  • 在建工程的核算内容制度依据
  • 这一年我学会了
  • springboot -d
  • c++如何给指针赋值
  • 3分钟认识Vue3的v-model
  • 如何使用扫描王
  • wordpress图片模板
  • 转账支票只能去开户行买吗?
  • phpcms怎么样
  • 以房抵债的税会退税吗
  • 母子公司吸收合并的税收有哪些
  • 一次性伤残补助金怎么计算
  • 费用暂估入账后期如何冲销
  • 五险一金缴纳比例2023
  • 收到土地使用权计入什么科目
  • 享受所得税减免优惠的生产性外商投资企业包括
  • 收购分公司有什么要求
  • 主营业务利润率反映了企业的什么能力
  • 存货核算的含义
  • sql server默认实例
  • sql server索引的使用
  • mysql b+树节点大小
  • win8的系统
  • xp系统桌面图标大小怎么调整
  • centos6.5无法启动
  • win7系统删除文件夹怎么恢复
  • apache80端口被占用的解决方法
  • win7远程桌面连接怎么设置
  • 铁嘴李林
  • 关于植物的现代诗
  • nodejs引入模块
  • nodejs中的事件循环的执行顺序
  • jquery 插件写法
  • 基于arcgis的python编程
  • npm安装nodemodules
  • js utf-8编码转换中文
  • 网上申报成功怎么查询
  • 粮食企业所得税优惠
  • 北京地方税务局电话
  • 花卉种植税收优惠政策案例
  • 北京税务分所怎么样啊
  • 其他收入工会经费必须申报吗
  • 增值税专用发票注明的金额是含税还是不含税
  • 个人股权转让是否增值了怎么判断
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设