神剑山庄资源网 Design By www.hcban.com
本文实例讲述了Python实现使用卷积提取图片轮廓功能。分享给大家供大家参考,具体如下:
一、实例描述
将彩色的图片生成带边缘化信息的图片。
本例中先载入一个图片,然后使用一个“3通道输入,1通道输出的3*3卷积核”(即sobel算子),最后使用卷积函数输出生成的结果。
二、代码
''''' 载入图片并显示 首先将图片放到代码的同级目录下,通过imread载入,然后将其显示并打印出来 ''' import matplotlib.pyplot as plt # plt 用于显示图片 import matplotlib.image as mpimg # mpimg 用于读取图片 import numpy as np import tensorflow as tf myimg = mpimg.imread('2.jpg') # 读取和代码处于同一目录下的图片 #myimg = mpimg.imread('img.jpg') # 读取和代码处于同一目录下的图片 plt.imshow(myimg) # 显示图片 plt.axis('off') # 不显示坐标轴 plt.show() print(myimg.shape) ''''' 上面这段代码输出(960, 720, 3),可以看到,载入图片的维度是960*720大小,3个通道 ''' ''''' 这里需要手动将sobel算子填入卷积核里。使用tf.constant函数可以将常量直接初始化到Variable中,因为是3个通道,所以sobel卷积核的每个元素都扩成了3个。 注意:sobel算子处理过的图片并不保证每个像素都在0~255之间,所以要做一次归一化操作(即将每个值减去最小的结果,再除以最大值与最小值的差),让生成的值都在[0,1]之间,然后在乘以255 ''' #full=np.reshape(myimg,[1,3264,2448,3]) full=np.reshape(myimg,[1,960,720,3]) #inputfull = tf.Variable(tf.constant(1.0,shape = [1, 3264, 2448, 3])) inputfull = tf.Variable(tf.constant(1.0,shape = [1, 960, 720, 3])) 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])) #步长为1*1,padding为SAME表明是同卷积的操作。 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(f) #t=np.reshape(t,[3264,2448]) t=np.reshape(t,[960,720]) plt.imshow(t,cmap='Greys_r') # 显示图片 plt.axis('off') # 不显示坐标轴 plt.show()
三、运行结果
四、说明
可以看出,sobel的卷积操作之后,提取到一张含有轮廓特征的图像。
再查看一下图片属性
注:这里用到了tensorflow
模块,可使用pip命令安装:
pip install tensorflow
如果遇到以下红字错误,可以看到提示更新pip到更新的版本(不报错可直接跳过到下一标题)。
更新pip到最新版本:
python -m pip install --upgrade pip
PS:截至目前,tensorflow尚不支持python3.6版本,建议使用兼容性较好的Python3.5版本
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
神剑山庄资源网 Design By www.hcban.com
神剑山庄资源网
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
神剑山庄资源网 Design By www.hcban.com
暂无Python实现使用卷积提取图片轮廓功能示例的评论...
更新日志
2024年10月02日
2024年10月02日
- 孙悦.1996-伙伴【正大国际】【WAV+CUE】
- 纪钧瀚《钢琴阅读时光 雨中书店聆听轻音乐》[FLAC/分轨][399.62MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[320K/MP3][87.4MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[FLAC/分轨][184.94MB]
- 陈慧娴.2018-Priscilla-Ism演唱会3CD(2024环球红馆40复刻系列)【环球】【WAV+CUE】
- 郑秀文.1999-我应该得到(国)【华纳】【WAV+CUE】
- 陈家慧.2011-钢琴酒吧2CD【龙吟唱片】【WAV+CUE】
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[320K/MP3][45.01MB]
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[FLAC/分轨][109.13MB]
- 赞多《序章》[320K/MP3][45.54MB]
- 许巍.2004-每一刻都是崭新的【步升大风】【WAV+CUE】
- 群星.2024-四方馆影视原声带【韶愔音乐】【FLAC分轨】
- 陈雷.1997-安锁咧【金圆唱片】【WAV+CUE】
- 关淑怡.2013-MY.FAVORITE.SK.3CD【环球】【WAV+CUE】
- Sweety.2006-花言乔语【丰华】【WAV+CUE】