tensorlayer學習日誌9_chapter4_4.1

import cv2
import numpy as np

print('~~~~~~~~~~~~~卷積覈示例~~~~~~~~~~~~~~~~~~')
image = cv2.imread('4.1_flower_original.jpg')
cv2.imshow('4.1_flower_original', image)
cv2.waitKey()
cv2.destroyAllWindows()

kernel = np.array([[-1,-1,-1],
					[2,2,2],
					[-1,-1,-1]])

sample = cv2.filter2D(image, -1, kernel)
cv2.imwrite('4.1_flower_sample.jpg', sample)
cv2.imshow('4.1_flower_sample.jpg', sample)
cv2.waitKey()
cv2.destroyAllWindows()


# # 低通濾波
# kernel = np.array([[.11,.11,.11],
# 					[.11,.11,.11],
# 					[.11,.11,.11]])

# rect = cv2.filter2D(image, -1, kernel)
# cv2.imwrite('4.1_flower_rect.jpg', rect)

# # 高斯濾波
# kernel = np.array([[1,4,5,4,1],
# 					[4,16,26,16,4],
# 					[7,26,41,26,7],
# 					[4,16,26,16,4],
# 					[1,4,7,4,1]])/273.0

# gaussian = cv2.filter2D(image, -1, kernel)
# cv2.imwrite('4.1_flower_gaussian.jpg', gaussian)

# # 銳化
# kernel = np.array([[0,-2,0],[-2,9,-2],[0,-2,0]])
# sharpen = cv2.filter2D(image, -1, kernel)
# cv2.imwrite('4.1_flower_sharpen.jpg', sharpen)

# # 邊緣檢測
# kernel = np.array([[-1,-1,-1],[-1,8,-1],[-1,-1,-1]])
# edges = cv2.filter2D(image, -1, kernel)
# cv2.imwrite('4.1_flower_edges.jpg', edges)

# # 浮雕
# kernel = np.array([[-2,-2,-2,-2,0], 
# 					[-2,-2,-2,0,2],
# 					[-2,-2,0,2,2],
# 					[-2,0,2,2,2],
# 					[0,2,2,2,2]])
# emboss = cv2.filter2D(image,-1,kernel)
# emboss = cv2.cvtColor(emboss, cv2.COLOR_BGR2GRAY)
# cv2.imwrite('4.1_flower_emboss.jpg', emboss)


print('~~~~~~~~~~~~~cv2使用的一些方法~~~~~~~~~~~~~~~~~~')

from matplotlib import pyplot as plt

img=cv2.imread('4.1_flower_original.jpg',cv2.IMREAD_COLOR)

# cv2顯示
cv2.namedWindow('4.1_flower_original.jpg',cv2.WINDOW_AUTOSIZE)
cv2.imshow('4.1_flower_cv2',img)
cv2.waitKey()
cv2.destroyAllWindows()

# plt顯示 opencv的像素是BGR順序,然而matplotlib所遵循的是RGB順序
fig = plt.figure('4.1_flower_plt')
plt.imshow(img)
plt.show()

# #改進方法一
# b,g,r=cv2.split(img)

# img2=cv2.merge([r,g,b])
# plt.imshow(img2)
# # plt.show()

# #改進方法二
# img3=img[:,:,::-1]
# plt.imshow(img3)
# # plt.show()

# #改進方法三
# img4=cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# plt.imshow(img4)
# # plt.show()

 

第四章先從圖片開始搞起~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章