python实现ROA算子边缘检测算法


Posted in Python onApril 05, 2021

python实现ROA算子边缘检测算法的具体代码,供大家参考,具体内容如下

代码

import numpy as np
import cv2 as cv


def ROA(image_path, save_path, threshold):
 img = cv.imread(image_path)
 image = cv.cvtColor(img, cv.COLOR_RGB2GRAY)
 new = np.zeros((512, 512), dtype=np.float64) # 开辟存储空间
 width = img.shape[0]
 heigh = img.shape[1]
 for i in range(width):
 for j in range(heigh):
  if i == 0 or j == 0 or i == width - 1 or j == heigh - 1:
  new[i, j] = image[i, j]
  continue
  print(image[i, j])
  if image[i, j] < 60:
  continue
  num_sum = 0.0
  u1 = (image[i - 1, j - 1] + image[i, j - 1] + image[i + 1, j - 1]) / 3
  u2 = (image[i - 1, j + 1] + image[i, j + 1] + image[i + 1, j + 1]) / 3
  r12 = 1.0
  if float(u2) - 0.0 > 1e6:
  r12 = float(u1) / float(u2)
  if float(u1) - 0.0 > 1e6:
  r12 = float(u2) / float(u1)
  num_sum += r12

  u1 = (image[i - 1, j - 1] + image[i, j - 1] + image[i - 1, j]) / 3
  u2 = (image[i + 1, j] + image[i + 1, j + 1] + image[i, j + 1]) / 3
  r12 = 1.0
  if float(u2) - 0.0 > 1e6:
  r12 = float(u1) / float(u2)
  if float(u1) - 0.0 > 1e6:
  r12 = float(u2) / float(u1)
  num_sum += r12

  u1 = (image[i - 1, j - 1] + image[i - 1, j] + image[i - 1, j + 1]) / 3
  u2 = (image[i + 1, j - 1] + image[i + 1, j] + image[i + 1, j + 1]) / 3
  r12 = 1.0
  if float(u2) - 0.0 > 1e6:
  r12 = float(u1) / float(u2)
  if float(u1) - 0.0 > 1e6:
  r12 = float(u2) / float(u1)
  num_sum += r12

  u1 = (image[i - 1, j] + image[i - 1, j + 1] + image[i, j + 1]) / 3
  u2 = (image[i, j - 1] + image[i + 1, j - 1] + image[i + 1, j]) / 3
  r12 = 1.0
  if float(u2) - 0.0 > 1e6:
  r12 = float(u1) / float(u2)
  if float(u1) - 0.0 > 1e6:
  r12 = float(u2) / float(u1)
  num_sum += r12
  new[i, j] = num_sum / 4.0
  if new[i, j] > threshold:
  new[i, j] = 100
  print(new[i, j])

 print(new)

 cv.imwrite(save_path, new)


if __name__ == "__main__":
 image_path = r""
 save_path = r""
 threshold = 
 ROA(image_path, save_path, threshold)

运算结果

运算前

python实现ROA算子边缘检测算法

运算后

python实现ROA算子边缘检测算法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 中的列表解析和生成表达式
Mar 10 Python
python实现简单购物商城
May 21 Python
python实现一个简单的并查集的示例代码
Mar 19 Python
Python实现的爬虫刷回复功能示例
Jun 07 Python
对Python中实现两个数的值交换的集中方法详解
Jan 11 Python
python读文件的步骤
Oct 08 Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
Oct 23 Python
python中从for循环延申到推导式的具体使用
Nov 29 Python
Python partial函数原理及用法解析
Dec 11 Python
Python基于pygame实现单机版五子棋对战
Dec 26 Python
使用sublime text3搭建Python编辑环境的实现
Jan 12 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
Jan 27 Python
python实现批量移动文件
Python list去重且保持原顺序不变的方法
Apr 03 #Python
python自动统计zabbix系统监控覆盖率的示例代码
Apr 03 #Python
2021年pycharm的最新安装教程及基本使用图文详解
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
python 统计代码耗时的几种方法分享
python 遍历磁盘目录的三种方法
Apr 02 #Python
You might like
杏林同学录(五)
2006/10/09 PHP
PHP对象转换为数组函数(递归方法)
2012/02/04 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
2015/12/07 PHP
Yii中创建自己的Widget实例
2016/01/05 PHP
laravel利用中间件做防非法登录和权限控制示例
2019/10/21 PHP
jQueryUI的Dialog的简单封装
2010/06/07 Javascript
jQuery代码优化 事件委托篇
2011/11/01 Javascript
javascript使用中为什么10..toString()正常而10.toString()出错呢
2013/01/11 Javascript
JQuery AJAX 中文乱码问题解决
2013/06/05 Javascript
jQuery中closest和parents的区别分析
2015/05/07 Javascript
JS对字符串编码的几种方式使用指南
2015/05/14 Javascript
JQuery中ajax方法访问web服务实例
2015/07/18 Javascript
Webpack打包css后z-index被重新计算的解决方法
2017/06/18 Javascript
Node.js利用js-xlsx处理Excel文件的方法详解
2017/07/05 Javascript
vue 怎么创建组件及组件使用方法
2017/07/27 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
2018/08/14 jQuery
vue-vuex中使用commit提交mutation来修改state的方法详解
2018/09/16 Javascript
vue前端框架—Mint UI详解(更适用于移动端)
2019/04/30 Javascript
使用express获取微信小程序二维码小记
2019/05/21 Javascript
vue点击当前路由高亮小案例
2019/09/26 Javascript
JS实现简易留言板特效
2019/12/23 Javascript
Javascript异步流程控制之串行执行详解
2020/09/27 Javascript
[07:06]2018DOTA2国际邀请赛寻真——卫冕冠军Team Liquid
2018/08/10 DOTA
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
详解Python程序与服务器连接的WSGI接口
2015/04/29 Python
windows下Virtualenvwrapper安装教程
2017/12/13 Python
Python实现感知器模型、两层神经网络
2017/12/19 Python
深入理解Python爬虫代理池服务
2018/02/28 Python
Python单向链表和双向链表原理与用法实例详解
2018/08/31 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
Python3简单爬虫抓取网页图片代码实例
2019/08/26 Python
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
班长演讲稿范文
2014/04/24 职场文书
优秀教师主要事迹材料
2015/11/04 职场文书
LyScript实现绕过反调试保护的示例详解
2022/08/14 Python