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单元测试框架unittest使用方法讲解
Apr 13 Python
Python的gevent框架的入门教程
Apr 29 Python
浅析Python中的join()方法的使用
May 19 Python
python中in在list和dict中查找效率的对比分析
May 04 Python
python中cPickle类使用方法详解
Aug 27 Python
python基于C/S模式实现聊天室功能
Jan 09 Python
python 实现简单的FTP程序
Dec 27 Python
Python模块future用法原理详解
Jan 20 Python
Python实现计算图像RGB均值方式
Jun 04 Python
浅谈tensorflow 中的图片读取和裁剪方式
Jun 30 Python
python下载的库包存放路径
Jul 27 Python
python opencv实现图像配准与比较
Feb 09 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设计模式 Decorator(装饰模式)
2011/06/26 PHP
十大使用PHP框架的理由
2015/09/26 PHP
jquery 简单的进度条实现代码
2010/03/11 Javascript
javascript克隆对象深度介绍
2012/11/20 Javascript
拖动table标题实现改变td的大小(css+js代码)
2013/04/16 Javascript
初识Node.js
2014/09/03 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
javascript判断变量是否有值的方法
2015/04/20 Javascript
noty ? jQuery通知插件全面解析
2016/05/18 Javascript
JavaScript仿flash遮罩动画效果
2016/06/15 Javascript
BootStrap按钮标签及基本样式
2016/11/23 Javascript
fullCalendar中文API官方文档
2017/02/07 Javascript
Angular2平滑升级到Angular4的步骤详解
2017/03/29 Javascript
ES6新数据结构Map功能与用法示例
2017/03/31 Javascript
详解weex默认webpack.config.js改造
2018/01/08 Javascript
iview中Select 选择器多选校验方法
2018/03/15 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
2018/10/14 Javascript
微信小程序接入vant Weapp组件的详细步骤
2020/10/28 Javascript
python基础教程之循环介绍
2014/08/29 Python
Python实现Dijkstra算法
2018/10/17 Python
Python操作注册表详细步骤介绍
2020/02/05 Python
Python AutoCAD 系统设置的实现方法
2020/04/01 Python
浅谈pycharm导入pandas包遇到的问题及解决
2020/06/01 Python
解决Keras 中加入lambda层无法正常载入模型问题
2020/06/16 Python
印尼网上商店:Alfacart.com
2019/03/11 全球购物
.NET笔试题(20个问题)
2016/02/02 面试题
Python文件操作的面试题
2013/06/22 面试题
《老山界》教学反思
2014/04/08 职场文书
“四风”问题的主要表现和危害思想汇报
2014/09/19 职场文书
群众路线个人剖析材料
2014/10/07 职场文书
机关作风建设工作总结
2014/10/23 职场文书
不同意离婚答辩状
2015/05/22 职场文书
Nginx安装完成没有生成sbin目录的解决方法
2021/03/31 Servers
详细聊聊关于Mysql联合查询的那些事儿
2021/10/24 MySQL
Go微服务项目配置文件的定义和读取示例详解
2022/06/21 Golang
python playwright之元素定位示例详解
2022/07/23 Python