Python之cv2

Posted tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之cv2相关的知识,希望对你有一定的参考价值。

1.读取图片

import cv2

img = cv2.imread(./test.jpg)

读取出来的图片是numpy.ndarray格式,值是0~255, img的形状是 (图片高度,图片宽度,图片通道数),打印值出来发现通道的顺序是BGR,而不是RGB。

 

2.改变图片大小

import cv2

width = 100
height = 200

img = cv2.imread(./test.jpg)

img = cv2.resize(img,(width, height),interpolation=cv2.INTER_AREA)

cv2.imshow(‘‘, img)
cv2.waitKey(0)
cv2.destroyAllWindows()

这个进行大小变换时,需要把指定的图片宽度放在前面,图片高度放在后面,和img的形状大小顺序不一致。

 

3.灰度转换

import cv2

img = cv2.imread(./test.jpg)

img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

转换后形状为 (图片高度,图片宽度)

其他一些转换:

import cv2

img = cv2.imread(./test.jpg)

img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

img_bgr = cv2.cvtColor(img_gray, cv2.COLOR_GRAY2BGR)

img_bgr2 = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)

img_rgb = cv2.cvtColor(img_gray, cv2.COLOR_GRAY2RGB)

 

4.保存图片

import cv2

width = 100
height = 200

img = cv2.imread(./test.jpg)

img = cv2.resize(img,(width, height),interpolation=cv2.INTER_AREA)


cv2.imwrite(test_changed.png, img)

 

自己实现cv2

from PIL import Image
import numpy as np

def imread(filename):
    return np.array(Image.open(filename))[:,:,::-1]

 

以上是关于Python之cv2的主要内容,如果未能解决你的问题,请参考以下文章

Python之OpenCV把一个视频切分成多个等长视频

Python+OpenCV图像处理之对象测量

Python+OpenCV图像处理之圆检测

Python函数式编程,范围和变量。我哪里错了?

cv2 python上的Mac照片亭,为啥我的代码会导致错误?

在 vs 代码中的 python 中导入 cv2 不起作用