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程序与MySQL的教程
Apr 29 Python
Phantomjs抓取渲染JS后的网页(Python代码)
May 13 Python
python的paramiko模块实现远程控制和传输示例
Oct 13 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
Jun 13 Python
python2与python3的print及字符串格式化小结
Nov 30 Python
python变量命名的7条建议
Jul 04 Python
python之pexpect实现自动交互的例子
Jul 25 Python
Python列表元素常见操作简单示例
Oct 25 Python
python实现小世界网络生成
Nov 21 Python
Python‘==‘ 及 ‘is‘相关原理解析
Sep 05 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
Jan 27 Python
python 多线程爬取壁纸网站的示例
Feb 20 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/06/29 PHP
PHP采集腾讯微博的实现代码
2012/01/19 PHP
深入理解PHP内核(二)之SAPI探究
2015/11/10 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
2016/11/04 PHP
php 数组处理函数extract详解及实例代码
2016/11/23 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
漂亮的thinkphp 跳转页封装示例
2019/10/16 PHP
学习YUI.Ext 第二天
2007/03/10 Javascript
JavaScript 选中文字并响应获取的实现代码
2011/08/28 Javascript
js Select下拉列表框进行多选、移除、交换内容的具体实现方法
2013/08/13 Javascript
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
JQuery实现当鼠标停留在某区域3秒后自动执行
2014/09/09 Javascript
DOM节点删除函数removeChild()用法实例
2015/01/12 Javascript
js实现精确到秒的日期选择器完整实例
2016/04/30 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
JS中this上下文对象使用方式
2016/10/09 Javascript
基于Vue+element-ui 的Table二次封装的实现
2018/07/20 Javascript
一文搞懂ES6中的Map和Set
2019/05/20 Javascript
原生js实现日期选择插件
2020/05/21 Javascript
three.js中多线程的使用及性能测试详解
2021/01/07 Javascript
[01:56]2014DOTA2西雅图邀请赛 MVP外卡赛老队长精辟点评
2014/07/09 DOTA
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
Python异步编程之协程任务的调度操作实例分析
2020/02/01 Python
Python计算IV值的示例讲解
2020/02/28 Python
python中用ggplot绘制画图实例讲解
2021/01/26 Python
英国体育器材进口商店:UK Sport Imports
2017/03/14 全球购物
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
2014乡镇“三八”国际劳动妇女节活动总结
2014/03/01 职场文书
开学典礼决心书
2014/03/11 职场文书
服装设计专业求职信
2014/06/16 职场文书
毕业论文致谢信
2015/05/14 职场文书
人民调解协议书
2016/03/21 职场文书
Golang 正则匹配效率详解
2021/04/25 Golang
SQL基础的查询语句
2021/11/11 MySQL