opencv图像处理(一):读取图片,裁剪图片

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()

猜你喜欢

转载自blog.csdn.net/weixin_39121325/article/details/84250539