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

  • 看文案学句式聊聊品牌文案(文案句式基本法则)

    看文案学句式聊聊品牌文案(文案句式基本法则)

  • 华为nova9pro怎么投屏到电视(华为nova9pro怎么分屏操作)

    华为nova9pro怎么投屏到电视(华为nova9pro怎么分屏操作)

  • 苹果手机照片上如何显示时间(苹果手机照片上传到icloud占内存吗)

    苹果手机照片上如何显示时间(苹果手机照片上传到icloud占内存吗)

  • 电车充电器一个红灯一个绿灯怎么回事(电车充电器一个绿灯一个红灯是什么意思)

    电车充电器一个红灯一个绿灯怎么回事(电车充电器一个绿灯一个红灯是什么意思)

  • 苹果x只有一个喇叭响是怎么回事(苹果x只有一个喇叭有声音)

    苹果x只有一个喇叭响是怎么回事(苹果x只有一个喇叭有声音)

  • 小米摄像头自己咔咔响(小米摄像头自己转动到某个角度)

    小米摄像头自己咔咔响(小米摄像头自己转动到某个角度)

  • 怎么隐藏抖音号码(怎么隐藏抖音号搜索)

    怎么隐藏抖音号码(怎么隐藏抖音号搜索)

  • 华为总部地址在哪里(华为 总部地址)

    华为总部地址在哪里(华为 总部地址)

  • 微信里出现一个反问号是什么(微信里出现一个学校通知)

    微信里出现一个反问号是什么(微信里出现一个学校通知)

  • 电脑开机键盘不能用(电脑开机键盘不亮)

    电脑开机键盘不能用(电脑开机键盘不亮)

  • 美团的学生认证在哪里(美团的学生认证有必要吗)

    美团的学生认证在哪里(美团的学生认证有必要吗)

  • 945主板最高装什么cpu(945主板最高装什么内存条)

    945主板最高装什么cpu(945主板最高装什么内存条)

  • 进入后台运行是什么

    进入后台运行是什么

  • iphone7plus分屏多任务(iphone7分屏有什么用)

    iphone7plus分屏多任务(iphone7分屏有什么用)

  • 光纤和宽带哪个网速快(光纤和宽带哪个快)

    光纤和宽带哪个网速快(光纤和宽带哪个快)

  • vivo nex3怎么设置指纹解锁(vivoNEX3怎么设置可以更省电)

    vivo nex3怎么设置指纹解锁(vivoNEX3怎么设置可以更省电)

  • 快手极速版怎样收藏作品(快手极速版怎样领金币)

    快手极速版怎样收藏作品(快手极速版怎样领金币)

  • 手机淘宝1元秒杀在哪里(手机淘宝1元秒杀在哪里找)

    手机淘宝1元秒杀在哪里(手机淘宝1元秒杀在哪里找)

  • 苹果8按键震动怎么关(苹果8按键震动怎么关闭)

    苹果8按键震动怎么关(苹果8按键震动怎么关闭)

  • 微信怎样查找聊天记录(微信怎样查找聊天记录删掉的)

    微信怎样查找聊天记录(微信怎样查找聊天记录删掉的)

  • WPS如何删除多余的一页(wps如何删除多余的列)

    WPS如何删除多余的一页(wps如何删除多余的列)

  • 6p电池容量(6p电池容量多大)

    6p电池容量(6p电池容量多大)

  • window10锁屏设置密码(window10锁屏界面怎么设置)

    window10锁屏设置密码(window10锁屏界面怎么设置)

  • 修改注册表限制PIN位数(修改注册表限制cpu速度)

    修改注册表限制PIN位数(修改注册表限制cpu速度)

  • 应交税金指什么意思
  • 个人所得税综合税率表2023
  • 资产总额增长幅度怎么算
  • 未达起征点增值税能否开票
  • 小区业委会是否可以进行经营活动?
  • 甲供材入账
  • 农产品增值税抵扣政策文件
  • 红字信息表跨月撤销和申报
  • 其他应收款计提坏账吗
  • 培训咨询企业的发展前景
  • 商业汇票和商业本票
  • 营改增后房地产企业增值税税收筹划存在问题
  • 小规模纳税人第一次网上报税
  • 长期借款账务处理会计分录例题
  • 销售报废车辆按多少计提销项税额
  • 产业扶持资金管理办法
  • 开出增值税普通发票需要交税吗
  • 税务局每年都会查我公司虚开发票
  • 发票红冲钱怎么退给对方
  • 发票已入账跨年可以红冲重开吗
  • 矿泉水售卖方式
  • 电子发票服务平台诺诺发票官网
  • 是否跨期
  • 债权转让的方式有哪几种
  • 损益类科目反映企业在一定期间内利润或亏损,可以分为
  • 固定资产包括哪些种类
  • php面向对象优点,缺点
  • 政策性搬迁会计处理案例
  • php ftp管理系统
  • 公司转让股权交不交增值税
  • 农产品进项税额转出怎么算
  • removed.exe - removed是什么进程 有什么用
  • Windows操作系统出现内存错误解决方法
  • 尿急尿频尿不尽吃什么药效果好
  • 经营出租的固定资产折旧计入哪里
  • 产品成本核算应正确划分哪些方面的费用界限
  • laravel常用命令
  • 股权转让有溢价分录怎么写
  • 工业设备类型分为以下三类
  • 可以享受企业所得税加计扣除的有
  • 股权激励费用摊销计算
  • 增值税退税是否属于政府补助
  • 医疗知识科普图片
  • php json格式化
  • js fetch api
  • php的时间戳
  • phpcms怎么用
  • 工资计提与发放在一个月行吗
  • 长期股权投资的账面价值怎么计算
  • 汇算清缴期间费用保险费是什么
  • 零税项目
  • 电子发票和纸质发票的优缺点
  • 工程服务费税率是多少2023
  • 扫码开票怎么弄
  • 公司购买股票会计分录怎么做
  • 投资性房地产转为存货
  • 现金净流量的计算公式正确的有
  • 小规模纳税人出租不动产优惠政策
  • 电子承兑背书了能撤回吗
  • 餐饮不得抵扣进项税
  • 销售退货的会计账怎么处理
  • 招待客户住宿属于什么费用
  • 转帐支票遗失怎么办
  • 超市发票报销一般写什么明细
  • 认缴制下实收资本可以一直为零吗
  • 住宿发票项目有哪些
  • 管理费用和财务费用属于什么科目
  • win7端口怎么查看
  • win8系统怎么清理磁盘
  • macOS 10.12 Beta 7更新了什么 macOS 10.12 Beta7更新内容汇总
  • ubuntu系统怎么进入命令行
  • xp局域网文件共享设置
  • win10系统如何去除记住密码
  • linux perl -e
  • easyui combobox设置值
  • unity接入第三方sdk
  • listview提高效率
  • 青岛市税务局长魏
  • 税控盘可以换成ukey吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设