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 相关文章推荐
Python3.x版本中新的字符串格式化方法
Apr 24 Python
在Python中操作字符串之rstrip()方法的使用
May 19 Python
Saltstack快速入门简单汇总
Mar 01 Python
python通过pip更新所有已安装的包实现方法
May 19 Python
Python使用Phantomjs截屏网页的方法
May 17 Python
Pycharm 操作Django Model的简单运用方法
May 23 Python
python筛选出两个文件中重复行的方法
May 31 Python
Python编程实现tail-n查看日志文件的方法
Jul 08 Python
浅谈Python中的异常和JSON读写数据的实现
Feb 27 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
Feb 27 Python
如何基于pandas读取csv后合并两个股票
Sep 25 Python
python tqdm库的使用
Nov 30 Python
python实现批量移动文件
Python list去重且保持原顺序不变的方法
Apr 03 #Python
python自动统计zabbix系统监控覆盖率的示例代码
Apr 03 #Python
2021年pycharm的最新安装教程及基本使用图文详解
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
python 统计代码耗时的几种方法分享
python 遍历磁盘目录的三种方法
Apr 02 #Python
You might like
防止本地用户用fsockopen DDOS攻击对策
2011/11/02 PHP
php对mongodb的扩展(初出茅庐)
2012/11/11 PHP
ThinkPHP模板判断输出Defined标签用法详解
2014/06/30 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
如何让您的中波更粗更长 - 中波框形天线制作
2021/03/10 无线电
window.ActiveXObject使用说明
2010/11/08 Javascript
基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片
2015/09/06 Javascript
学习JavaScript设计模式(继承)
2015/11/26 Javascript
nodejs中sleep功能实现暂停几秒的方法
2017/07/12 NodeJs
js代码规范之Eslint安装与配置详解
2018/09/08 Javascript
微信小程序封装自定义弹窗的实现代码
2019/05/08 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
2019/11/20 Javascript
[00:33]2016完美“圣”典风云人物:BurNIng宣传片
2016/12/10 DOTA
python实现自动更换ip的方法
2015/05/05 Python
Python实现将sqlite数据库导出转成Excel(xls)表的方法
2017/07/17 Python
Python机器学习之SVM支持向量机
2017/12/27 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
2018/02/07 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
Python pymysql模块安装并操作过程解析
2020/10/13 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
Python实现曲线拟合的最小二乘法
2021/02/19 Python
Html5获取高德地图定位天气的方法
2019/12/26 HTML / CSS
FOREO斐珞尔官方旗舰店:LUNA露娜洁面仪
2018/03/11 全球购物
Sunglasses Shop瑞典:欧洲领先的太阳镜网上商店
2018/04/22 全球购物
blueseventy官网:铁人三项和比赛泳衣
2021/02/06 全球购物
简历自荐信
2013/12/02 职场文书
英文商务邀请信
2014/01/22 职场文书
《盘古开天地》教学反思
2014/02/28 职场文书
服装设计师职业生涯规划范文
2014/02/28 职场文书
个人委托书范本
2014/09/13 职场文书
长江七号观后感
2015/06/11 职场文书
新娘父亲婚礼致辞
2015/07/27 职场文书
解决persistence.xml配置文件修改存放路径的问题
2022/02/24 Java/Android
tomcat正常启动但网页却无法访问的几种解决方法
2022/05/06 Servers