Opencv小白教程——创建图像
以下均为github上opencv的个人学习笔记,原路径如下:
https://github.com/JimmyHHua/opencv_tutorials
源码示例:
import cv2 as cv
import numpy as np
src = cv.imread("./test.png")
cv.namedWindow("input", cv.WINDOW_AUTOSIZE)
cv.imshow("input", src)
# 克隆图像
m1 = np.copy(src)
# 赋值
m2 = src
src[100:200,200:300,:] = 255 //src图像上X轴100到200区间,Y轴200到300区间的图像,所有通道颜色为白色,255代表白色
cv.imshow("m2",m2)
m3 = np.zeros(src.shape, src.dtype) //src.shape表示整个图像区域,src.dtype表示src图像的数值类型,np.zeros代表0矩阵,整个图像为黑色
cv.imshow("m3", m3)
m4 = np.zeros([512,512], np.uint8) //[512,512]代表X轴0到512,Y轴0到512的图像区间,uint8为图像数值类型
# m4[:,:] =127 try to give gray value 127
cv.imshow("m4", m4)
m5 = np.ones(shape=[512,512,3], dtype=np.uint8)
m5[:,:,0] = 255 /
cv.imshow("m5", m5)
cv.waitKey(0)
cv.destroyAllWindows()
用法:zeros(shape, dtype=float, order='C')
返回:返回来一个给定形状和类型的用0填充的数组;
参数:shape:形状
dtype:数据类型,可选参数,默认numpy.float64
dtype类型:
t ,位域,如t4代表4位
b,布尔值,true or false
i,整数,如i8(64位)
u,无符号整数,u8(64位)
f,浮点数,f8(64位)
c,浮点负数,
o,对象,
s,a,字符串,s24
u,unicode,u24
order:可选参数,c代表与c语言类似,行优先;F代表列优先
例子:
np.zeros(5):
一行五列
array([0,0,0,0,0])
np.zeros(1,5):
一个一行五列
array([[0,0,0,0,0]])
np.zeros(2,5)
两个一行五列
array([
[0,0,0,0,0]
[0,0,0,0,0]])
np.zeros((2,3,3))
两个三行三列
array([ [[0,0,0]
[0,0,0]
[0,0,0]]
[[0,0,0]
[0,0,0]
[0,0,0]] ])
以上摘自:https://blog.****.net/qq_38739667/article/details/100511508
ones函数可以创建任意维度和元素个数的数组,其元素值均为1;另外还有一个empty函数,只是它所常见的数组内所有元素均为空,没有实际意义,所以它也是创建数组最快的方法。zeros、ones、empty的使用方法差不多。
以下为输出图片:
1.cv.imshow("m2",m2)
2.cv.imshow("m3", m3):
3.cv.imshow("m3", m3):
cv.imshow("m5", m5);