国产探花免费观看_亚洲丰满少妇自慰呻吟_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到更新的版本(不報錯可直接跳過到下一標題)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 古蔺县| 乃东县| 普陀区| 吕梁市| 吴旗县| 丰城市| 巴东县| 天镇县| 静宁县| 石景山区| 北川| 兴安县| 谷城县| 宜兴市| 承德市| 连江县| 汉沽区| 江阴市| 永仁县| 新巴尔虎右旗| 赤水市| 六安市| 务川| 湘西| 和田县| 大田县| 普兰店市| 慈溪市| 邢台县| 加查县| 太康县| 神农架林区| 琼海市| 牟定县| 泸西县| 耿马| 周口市| 余姚市| 长海县| 娄烦县| 内丘县|