pythonopencv项目_OpenCV中的numpy如何在Python项目中使用

本文详细介绍了在Python项目中如何使用OpenCV结合Numpy进行图像处理,包括如何创建和转换图像,以及使用PIL、keras、skimage、matplotlib等库将图像转化为numpy数组。
摘要由CSDN通过智能技术生成

OpenCV中的numpy如何在Python项目中使用

发布时间:2020-12-11 14:07:08

来源:亿速云

阅读:89

作者:Leah

今天就跟大家聊聊有关OpenCV中的numpy如何在Python项目中使用 ,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

Python OpenCV存储图像使用的是Numpy存储,所以可以将Numpy当做图像类型操作,操作之前还需进行类型转换,转换到int8类型import cv2

import numpy as np

# 使用numpy方式创建一个二维数组

img = np.ones((100,100))

# 转换成int8类型

img = np.int8(img)

# 颜色空间转换,单通道转换成多通道, 可选可不选

img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)

cv2.imwrite("demo.jpg", img)

补充知识:Python中读取图片并转化为numpy.ndarray()数据的6种方式方式:                                        返回类型

OpenCV                                      np.ndarray

PIL                                               PIL.JpegImagePlugin.JpegImageFile

keras.preprocessing.image         PIL.JpegImagePlugin.JpegImageFile

Skimage.io                                  np.ndarray

matplotlib.pyplot                          np.ndarray

matplotlib.image                          np.ndarrayimport numpy as np

import cv2

from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img

from PIL import Image

import skimage.io as io

import matplotlib.pyplot as plt

import matplotlib.image as mpig

'''

方式:   返回类型

OpenCV   np.ndarray

PIL    PIL.JpegImagePlugin.JpegImageFile

keras.preprocessing.image PIL.JpegImagePlugin.JpegImageFile

Skimage.io   np.ndarray

matplotlib.pyplot  np.ndarray

matplotlib.image  np.ndarray

'''

imagePath="E:/DataSet/test1/trainSet/bus/300.jpg"

'''

方式一:使用OpenCV

'''

img1=cv2.imread(imagePath)

print("img1:",img1.shape)

print("img1:",type(img1))

print("-"*10)

'''

方式二:使用PIL

'''

img2=Image.open(imagePath)

print("img2:",img2)

print("img2:",type(img2))

#转换成np.ndarray格式

img2=np.array(img2)

print("img2:",img2.shape)

print("img2:",type(img2))

print("-"*10)

'''

方式三:使用keras.preprocessing.image

'''

img3=load_img(imagePath)

print("img3:",img3)

print("img3:",type(img3))

#转换成np.ndarray格式,使用np.array(),或者使用keras里的img_to_array()

#使用np.array()

#img3=np.array(img2)

#使用keras里的img_to_array()

img3=img_to_array(img3)

print("img3:",img3.shape)

print("img3:",type(img3))

print("-"*10)

'''

方式四:使用Skimage.io

'''

img4=io.imread(imagePath)

print("img4:",img4.shape)

print("img4:",type(img4))

print("-"*10)

'''

方式五:使用matplotlib.pyplot

'''

img5=plt.imread(imagePath)

print("img5:",img5.shape)

print("img5:",type(img5))

print("-"*10)

'''

方式六:使用matplotlib.image

'''

img6=mpig.imread(imagePath)

print("img6:",img6.shape)

print("img6:",type(img6))

print("-"*10)

运行结果:Using TensorFlow backend.

img1: (256, 384, 3)

img1: 

----------

img2: 

img2: 

img2: (256, 384, 3)

img2: 

----------

img3: 

img3: 

img3: (256, 384, 3)

img3: 

----------

img4: (256, 384, 3)

img4: 

----------

img5: (256, 384, 3)

img5: 

----------

img6: (256, 384, 3)

img6: 

----------

d5ac75f1caffd74fcfb1f501a6a36b84.png

看完上述内容,你们对OpenCV中的numpy如何在Python项目中使用 有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值