java 提取轮廓_TensorFlow 卷积操作模拟sobel算子提取图像轮廓

注意:

sobel算子不保证结果在0-255,需要做一次归一化处理,再乘以255

输出的数据shape与图像的shape不一样,需要一次转化

效果

4a35def39312ffb76e5bc2adb765df21.png

4ba91f60a668d8a11d45752bf9a8b7d0.png

代码

import matplotlib.pyplot as plt # plt 用于显示图片

import matplotlib.image as mpimg # mpimg 用于读取图片

import numpy as np

import tensorflow as tf

myimg = mpimg.imread('test.jpg') # 读取和代码处于同一目录下的图片

plt.imshow(myimg) # 显示图片

plt.axis('off') # 不显示坐标轴

plt.show()

print(myimg.shape)

full = np.reshape(myimg, [1, *myimg.shape])

inputfull = tf.Variable(tf.constant(1.0, shape=[1, *myimg.shape]))

filter = tf.Variable(tf.constant([[-1.0, -1.0, -1.0], [0, 0, 0], [1.0, 1.0, 1.0],

[-2.0, -2.0, -2.0], [0, 0, 0], [2.0, 2.0, 2.0],

[-1.0, -1.0, -1.0], [0, 0, 0], [1.0, 1.0, 1.0]],

shape=[3, 3, 3, 1]))

op = tf.nn.conv2d(inputfull, filter, strides=[1, 1, 1, 1], padding='SAME') # 3个通道输入,生成1个feature ma

o = tf.cast(((op - tf.reduce_min(op)) / (tf.reduce_max(op) - tf.reduce_min(op))) * 255, tf.uint8)

with tf.Session() as sess:

sess.run(tf.global_variables_initializer())

t, f = sess.run([o, filter], feed_dict={inputfull: full})

print(t.shape) # (1, 512, 512, 1)

t = np.reshape(t, myimg.shape[:2])

print(t.shape) # (512, 512)

plt.imshow(t, cmap='Greys_r') # 显示图片

plt.axis('off') # 不显示坐标轴

plt.show()

转载至链接:https://my.oschina.net/ahaoboy/blog/1923134

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522889.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云MaxCompute(大数据)公开数据集---带你玩转人工智能

摘要: 目前阿里云大数据产品已经免费向全部用户开放了多种公用数据集。开放的数据类别包括:股票价格数据,房产信息,影视及其票房数据。 点此查看原文:http://click.aliyun.com/m/40813/ 目前阿里云MaxCompute大数据产品…

Git添加为远程仓库

#通过git init命令把这个目录变成Git可以管理的仓库 git init #把该目录下的所有文件添加的暂存区 git add . # 把暂存区的文件提交到本地仓库 git commit #关联一个远程库 git remote add origin 仓库url#推送远程 git push -u origin master

豪投10亿!华为放话:3年培养100万AI人才!网友神回应了

近期,AI测试权威软件AI Benchmark的测试数据显示,中国华为研发的7nm旗舰手机芯片麒麟810的AI分数,远远超过美国高通骁龙855了!麒麟810芯片AI分数是3300多,名列第一。而骁龙855手机则是2700多。大家振奋的同时&#xff…

阿里云大数据利器Maxcompute学习之-假如你使用过hive

摘要: 如果您是一个大数据开发工程师并且使用过hadoop的hive框架,那么恭喜您,阿里云的大数据计算服务-Maxcompute,您已经会了90%。这篇文章就来简单对比下Maxcompute和hive的异同,来方便刚开始使用Maxcompute的用户&am…

阿里云大数据利器Maxcompute-使用mapjoin优化查询

摘要: small is beautiful,small is powerful 点此查看原文:http://click.aliyun.com/m/40815/ 大数据计算服务(MaxCompute,原名 ODPS)是一种快速、完全托管的 GB/TB/PB 级数据仓库解决方案。 https://help…

GitHub下载文件时缓慢的问题

用记事本打开hosts文件,路径为 C:\Windows\System32\drivers\etc将下面3行添加到hosts文件中 140.82.114.3 github.com151.101.185.194 github.global.ssl.fastly.net192.30.253.121 codeload.github.com以管理员身份运行CMD,执行命令ipconfig /flushdn…

阿里云大数据利器之-RDS迁移到Maxcompute实现动态分区

摘要: 当前,很多用户的业务数据存放在传统关系型数据库上,例如阿里云的RDS,做业务读写操作。当数据量非常大的时候,此时传系关系型数据库会显得有些吃力,那么会经常有将mysql数据库的数据迁移到[大数据处理…

mysql heartbeat 慢_Mysql 慢日志优化分析方法

mysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的,为了开启这个功能,要修改my.cnf或者在mysql启动的时候加入一些参数。如果在my.cnf里面修改,需增加如下几行long_query_time 10log-slow-queries long_…

SaaS前世今生:老树开新花

戳蓝字“CSDN云计算”关注我们哦!作者 | 文东海出品 | CSDN云计算(ID:CSDNcould)2019年3月26日,Adobe和微软宣布,两家公司准备展开一项合作,来提升双方的“销售和营销软件”的能力,进…

初体验-阿里云短视频 SDK For Android 快速接入

摘要: 近期的一些创意短视频 App 风靡年轻群体,比较典型的例如抖音、MUSE 等,阿里云也适时地推出了简单易用的短视频 SDK,帮助开发者们以较低的成本快速引入功能完备的创意短视频功能。本文主要介绍如何快速接入阿里云短视频 SDK …

解决Chrome插件安装时出现的“程序包无效”问题

https://blog.csdn.net/ysq5202121/article/details/50809494

【 CDN 最佳实践】CDN 命中率优化思路

摘要: CDN 在静态资源的加速场景中是将静态资源缓存在距离客户端较近的CDN 节点上,然后客户端访问该资源即可通过较短的链路直接从缓存中获取资源,而避免再通过较长的链路回源获取静态资源。因此 CDN的缓存命中率的高低直接影响客户体验&…

首帧秒开+智能鉴黄+直播答题,阿里云直播系统背后技术大起底

摘要: 想要快速实现直播能力,并对原有业务不产生任何影响,依托如阿里云一样的直播平台,来搭建移动直播系统,将技术难题交给阿里云,把更多的精力放在核心业务的本身,是最为稳妥和高效的选择。本文…

《云栖社区2017年度内容特辑》新鲜出炉!800+份大会PPT、20+技术专题、100+话题...快抱走!...

回首2017,云栖社区承载了太多的精彩内容,这一年大量的优秀团队入驻社区,600博主成为云栖专家,他们为读者奉献了无数精彩的内容——100W博文,300场直播,用户互动问答数超过6W;与此同时&#xff0…

gitlab访问慢,出现502,特别卡,耗内存cpu解决办法

https://blog.csdn.net/weixin_30672295/article/details/99610321

K8S精华问答 | K8S 是什么?不是什么?

kubernetes,简称K8S,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应…

FaaS如何在云2.0时代发挥优势,又将走向何方?

摘要: 过去十年,云服务深刻地改变了社会获取和使用计算能力的方式,云服务自身也以极快的速度演进。在基础设施云化之后,容器、Serverless等技术迅猛发展,开始推动业务能力的云化,云计算进入2.0时代。 点此查…

解锁新姿势 | 如何用配置中心实现全局动态流控?

摘要: 当资源成为瓶颈时,服务框架需要对消费者做限流,启动流控保护机制。流量控制有多种策略,比较常用的有:针对访问速率的静态流控、针对资源占用的动态流控、针对消费者并发连接数的连接控制和针对并行访问数的并发控…

53K!拿下阿里Python岗,这些技术点全考了!

Python又上热搜了!”,最近笔者在逛脉脉时,发现这样的一条信息:看完后,我相信大家和我一样,what,Python这么时候值钱了?本篇文章,我将帮大家搞定两大疑问:1. P…