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 相关文章推荐
一个基于flask的web应用诞生 bootstrap框架美化(3)
Apr 11 Python
python计算auc指标实例
Jul 13 Python
python unittest实现api自动化测试
Apr 04 Python
对python多线程中Lock()与RLock()锁详解
Jan 11 Python
对python 中re.sub,replace(),strip()的区别详解
Jul 22 Python
Python脚本操作Excel实现批量替换功能
Nov 20 Python
Python如何基于selenium实现自动登录博客园
Dec 16 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
Jan 02 Python
在Tensorflow中实现梯度下降法更新参数值
Jan 23 Python
pycharm专业版远程登录服务器的详细教程
Sep 15 Python
Python3利用openpyxl读写Excel文件的方法实例
Feb 03 Python
python xlwt模块的使用解析
Apr 13 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 字符过滤类,用于过滤各类用户输入的数据
2009/05/27 PHP
PHP函数preg_match_all正则表达式的基本使用详细解析
2013/08/31 PHP
在WordPress中实现发送http请求的相关函数解析
2015/12/29 PHP
HTML5如何适配 iPhone IOS 底部黑条
2021/03/09 HTML / CSS
prototype 中文参数乱码解决方案
2009/11/09 Javascript
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
关于微信小程序bug记录与解决方法
2018/08/15 Javascript
JS实现的RC4加密算法示例
2018/08/16 Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
2018/09/25 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
[02:04]2014DOTA2国际邀请赛 DK一个时代的落幕
2014/07/21 DOTA
Python的SQLAlchemy框架使用入门
2015/04/29 Python
python使用多进程的实例详解
2018/09/19 Python
Python3 全自动更新已安装的模块实现
2020/01/06 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
pycharm通过ssh连接远程服务器教程
2020/02/12 Python
解决python 找不到module的问题
2020/02/12 Python
关于python中的xpath解析定位
2020/03/06 Python
keras用auc做metrics以及早停实例
2020/07/02 Python
利用scikitlearn画ROC曲线实例
2020/07/02 Python
Python之字符串的遍历的4种方式
2020/12/08 Python
html5实现多文件的上传示例代码
2014/02/13 HTML / CSS
html5的canvas方法使用指南
2014/12/15 HTML / CSS
HTML5中在title标题标签里设置小图标的方法
2020/06/23 HTML / CSS
大班上学期幼儿评语
2014/04/30 职场文书
中学生运动会新闻稿
2014/09/24 职场文书
贷款收入证明格式
2015/06/24 职场文书
给学校的建议书400字
2015/09/14 职场文书
《打电话》教学反思
2016/02/22 职场文书
小学语文教师竞聘演讲稿范文
2019/08/09 职场文书
导游词之阳朔遇龙河
2019/12/16 职场文书
golang 比较浮点数的大小方式
2021/05/02 Golang
解决SpringCloud Feign传对象参数调用失败的问题
2021/06/23 Java/Android
Apache Hudi的多版本清理服务彻底讲解
2022/03/31 Servers
Python作用域和名称空间的详细介绍
2022/04/13 Python