国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現使用卷積提取圖片輪廓功能示例

2020-02-23 00:05:50
字體:
來源:轉載
供稿:網友

本文實例講述了Python實現使用卷積提取圖片輪廓功能。分享給大家供大家參考,具體如下:

一、實例描述

將彩色的圖片生成帶邊緣化信息的圖片。

本例中先載入一個圖片,然后使用一個“3通道輸入,1通道輸出的3*3卷積核”(即sobel算子),最后使用卷積函數輸出生成的結果。

二、代碼

'''''載入圖片并顯示首先將圖片放到代碼的同級目錄下,通過imread載入,然后將其顯示并打印出來'''import matplotlib.pyplot as plt # plt 用于顯示圖片import matplotlib.image as mpimg # mpimg 用于讀取圖片import numpy as npimport tensorflow as tfmyimg = 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 mao=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到更新的版本(不報錯可直接跳過到下一標題)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 塔城市| 达尔| 谢通门县| 密云县| 大新县| 文登市| 房山区| 横峰县| 湖南省| 济南市| 全椒县| 都江堰市| 右玉县| 多伦县| 英超| 遵义市| 卢湾区| 辽宁省| 铜川市| 麻城市| 搜索| 丰县| 德昌县| 叶城县| 嵊泗县| 都江堰市| 南乐县| 佳木斯市| 乐安县| 乐昌市| 盐源县| 东丰县| 尤溪县| 葫芦岛市| 昔阳县| 安仁县| 若羌县| 云林县| 沂源县| 武汉市| 江门市|