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将字符串转换成数组的方法
Apr 29 Python
批处理与python代码混合编程的方法
May 19 Python
Python数据分析之真实IP请求Pandas详解
Nov 18 Python
Python内建模块struct实例详解
Feb 02 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
Jul 11 Python
python修改txt文件中的某一项方法
Dec 29 Python
Python实现字符串中某个字母的替代功能
Oct 21 Python
python requests.get带header
May 05 Python
keras中的History对象用法
Jun 19 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
Oct 30 Python
Python爬虫之Selenium实现键盘事件
Dec 04 Python
Python常遇到的错误和异常
Nov 02 Python
python实现批量移动文件
Python list去重且保持原顺序不变的方法
Apr 03 #Python
python自动统计zabbix系统监控覆盖率的示例代码
Apr 03 #Python
2021年pycharm的最新安装教程及基本使用图文详解
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
python 统计代码耗时的几种方法分享
python 遍历磁盘目录的三种方法
Apr 02 #Python
You might like
php $_ENV为空的原因分析
2009/06/01 PHP
PHP 输出简单动态WAP页面
2009/06/09 PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
2014/09/22 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
2017/09/30 PHP
jquery的ajaxSubmit()异步上传图片并保存表单数据演示代码
2013/06/04 Javascript
JQuery限制复选框checkbox可选中个数的方法
2015/04/20 Javascript
漫谈JS引擎的运行机制 你应该知道什么
2016/06/15 Javascript
一道面试题引发的对javascript类型转换的思考
2017/03/06 Javascript
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
2017/07/10 Javascript
详解Angular5 服务端渲染实战
2018/01/04 Javascript
vue中$refs的用法及作用详解
2018/04/24 Javascript
React精髓!一篇全概括小结(急速)
2019/05/23 Javascript
Java Varargs 可变参数用法详解
2020/01/28 Javascript
[01:14]2019完美世界城市挑战赛(秋季赛)全国总决赛精彩花絮
2020/01/08 DOTA
Python创建对称矩阵的方法示例【基于numpy模块】
2017/10/12 Python
matplotlib 输出保存指定尺寸的图片方法
2018/05/24 Python
在python 中实现运行多条shell命令
2019/01/07 Python
利用python将图片版PDF转文字版PDF
2019/05/03 Python
图文详解python安装Scrapy框架步骤
2019/05/20 Python
Python 等分切分数据及规则命名的实例代码
2019/08/16 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
2020/05/13 Python
Python中无限循环需要什么条件
2020/05/27 Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
2020/06/08 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
2020/07/01 Python
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
Keds官方网站:购买帆布运动鞋和经典皮鞋
2016/11/12 全球购物
英国时尚服饰电商:Boohoo
2017/10/12 全球购物
英国复古服装和球衣购买网站:3Retro Football
2018/07/09 全球购物
电大毕业生自我鉴定
2013/11/10 职场文书
网吧消防安全制度
2014/01/28 职场文书
司法建议书范文
2014/05/13 职场文书
新疆民族团结演讲稿
2014/08/27 职场文书
交通事故一次性赔偿协议书范本
2014/11/02 职场文书
违反纪律检讨书范文
2015/05/07 职场文书
老人与海读书笔记
2015/06/26 职场文书
高并发下Redis如何保持数据一致性(避免读后写)
2022/03/18 Redis