opencv影象處理(一):讀取圖片,裁剪圖片
阿新 • • 發佈:2018-12-06
1.利用opencv讀取圖片:
# -*- coding: utf-8 -*-
# !/usr/bin/env python
# @Time : 2018/11/19 14:59
# @Author : xhh
# @Desc : 讀取圖片
# @File : opencv_imreadImg.py
# @Software: PyCharm
import cv2
img = cv2.imread("../tupian/green.png")
cv2.imshow("green.png",img)
cv2.waitKey(0)
結果:
2. 對圖片進行裁剪
# -*- coding: utf-8 -*- # !/usr/bin/env python # @Time : 2018/11/19 14:59 # @Author : xhh # @Desc : 讀取圖片 # @File : opencv_imreadImg.py # @Software: PyCharm import cv2 img = cv2.imread("../tupian/green.png") height = len(img) width = len(img[0]) print('圖片大小%d, %d'%(width, height)) # 對圖片進行裁剪 img2 = img[0:60, 0:100] # 進行儲存處理後的圖片 cv2.imwrite('../captcha/tupian/green.jpg',img2) # 裁剪後的圖片大小 height=len(img2) width = len(img2[0]) print('圖片大小%d, %d'%(width, height)) print('圖片size',img2.size) print('圖片dtype',img2.dtype) cv2.imshow("green.png",img) cv2.imshow("green.jpg",img2) cv2.waitKey(0)
裁剪後的結果:
3. 利用matplotlib進行圖片展示
# -*- coding: utf-8 -*- # !/usr/bin/env python # @Time : 2018/11/19 14:59 # @Author : xhh # @Desc : 讀取圖片,並利用matplotlib # @File : opencv_imreadImg.py # @Software: PyCharm import cv2 import matplotlib.pyplot as plt img = cv2.imread("../tupian/green.png") plt.imshow(img) plt.show()
結果(失去了原有的色彩):
4.修改圖片的顏色通道
# -*- coding: utf-8 -*- # !/usr/bin/env python # @Time : 2018/11/19 14:59 # @Author : xhh # @Desc : 讀取圖片,並利用matplotlib # @File : opencv_imreadImg.py # @Software: PyCharm import cv2 import matplotlib.pyplot as plt img = cv2.imread("../tupian/green.png") # 修改圖片通道 (r, g, b) = cv2.split(img) img = cv2.merge([b, g, r]) plt.imshow(img) plt.show()
結果:
5. 利用plt和cv2讀取圖片:
# -*- coding: utf-8 -*-
# !/usr/bin/env python
# @Time : 2018/11/19 14:59
# @Author : xhh
# @Desc : 讀取圖片,並利用matplotlib
# @File : opencv_imreadImg.py
# @Software: PyCharm
import cv2
import matplotlib.pyplot as plt
img1 = cv2.imread('../tupian/green.png')
img2 = plt.imread('../tupian/green.png')
plt.subplot(121)
plt.imshow(img1)
plt.subplot(122)
plt.imshow(img2)
plt.show()
最終結果還是顏色通道的不同
6.matplotlib將圖片轉化為灰度圖
# -*- coding: utf-8 -*-
# !/usr/bin/env python
# @Time : 2018/11/19 15:32
# @Author : xhh
# @Desc : 利用 matplotlib顯示灰度圖
# @File : plt_grayImg.py
# @Software: PyCharm
import matplotlib.pyplot as plt
import matplotlib.cm as cm
img = plt.imread('../tupian/green.png')
# 將圖片轉化為單通道
img = img[:, :, 0]
plt.subplot(121)
plt.imshow(img)
plt.subplot(122)
# plt.colorbar()
plt.imshow(img, cmap=cm.get_cmap('winter'))
plt.show()