np.where()简要介绍 函数np.where(condition,x,y) 函数作用 1.满足条件(condition),输出x,不满足输出y 2.若参数只有condition,而没有x和y,则输出非0元素的坐标 condition 条件,如input>8 x 满足condition输出的值 y 不满足condition输出的值 示例import numpy as np a = np.array([2,4,6,8,10])print
cv2.remap()简要介绍 定义cv2.remap(img,map1,map2,interpolation)用法cv2.remap(img,map1,map2,interpolation) 函数作用 重映射,即把一幅图像内的像素点放置到另外一幅图像内的指定位置 img 输入图像 map1 1.表示(x,y)的一个映射 2.或者表示CV_16SC2 , CV_32FC1, CV_32FC2 类型(x,y)点的 x 值 map2 1.若map1表示(x,y)
cv2.calcHist()和np.histogram()简要介绍 定义cv2.calcHist(images, channels, mask, histSize, ranges)用法cv2.calcHist(images, channels, mask, histSize, ranges) 函数作用 返回一个histSize*1的矩阵,每一个值代表了每个灰度值对应的像素点数目 images 输入图像 channels 进行直方图统计的通道 mask 掩膜图像,默认为None histSize bin的数目 r
cv2.blur()、cv2.GaussianBlur()和cv2.medianBlur()简要介绍 定义cv2.blur(img,size) cv2.GaussianBlur(img,size,std) cv2.medianBlur(img,size)用法cv2.blur(img,size) 函数作用 均值滤波 img 输入图像 size 卷积核大小 cv2.GaussianBlur(img,size,std) 函数作用 高斯滤波 img 输入图像 size 卷积核大小大小 std 高斯函数标准差 cv
cv2.warpPerspective()+cv2.getPerspectiveTransform()透视变换 定义cv2.warpPerspective(img,matric,size) cv2.getPerspectiveTransform(pts1,pts2)用法对于透视变换,需要一个3*3的变换矩阵,在变换前后直线还是直线。需要在原图上找到4个点以及他们在输出图上对应的位置。注意,这四个点任意三个都不能共线,变换矩阵可由opencv提供的cv2.getPerspectiveTransform()函数构建,然后传给函数cv2.warpPerspective()img:输入图像 matr
cv2.getAffineTransform()简要介绍 先了解cv2.warpAffine()+cv2.getRotationMatrix2D()定义cv2.getAffineTransform(pts1,pts2)用法仿射变换,指一个向量空间进行线性变换+平移变成另外一个向量空间,它需要一个变换矩阵,而由于仿射变换较为复杂,一般很难找出这个矩阵,于是opencv提供了cv2.getAffineTransform(),cv2.getAffineTransForm()通过找原图像中三个点的坐标和变换图像的相应三个点坐标,创建一个2X3的矩阵
cv2.warpAffine()+cv2.getRotationMatrix2D() 定义cv2.warpAffine(img,matrix,size) cv2.getRotationMatrix2D(corner,angle,scale)用法img:输入图像 matrix:由cv2.getRotationMatrix2D()获得 size:输出图像的大小,格式为(宽(列),高(行))cv2.getRotationMatrix2D用于构建旋转矩阵matrixcorner:旋转中心 angel:旋转角度 scale:旋转后的缩放因子 补充平移 如果想要沿
torch.clamp()简要介绍 定义torch.clamp(input,min,max)用法将输入input每个元素的值限制在min和max之间,小于min或者大于max的值分别替换为min和max示例import torcha = torch.tensor([[2,3,1],[0,5,6]])b = torch.clamp(a,2,5)print(a)print(b)>>>tensor([[2, 3, 1], [0, 5, 6]])tensor([[2, 3
torch.full()简要介绍 定义torch.full(size,num)用法话不多说,直接看示例示例import torcha = torch.full((4,4),3)b = torch.full((5,6),9)print(a)print(b)>>>tensor([[3, 3, 3, 3], [3, 3, 3, 3], [3, 3, 3, 3], [3, 3, 3, 3]])tensor([[9, 9, 9,
torch.sort()和torch.argsort()简要介绍 定义torch.sort(input,dim,descending) torch.argsort(input,dim,descending)用法torch.sort:对输入数据排序,返回两个值,即排序后的数据values和其在原矩阵中的坐标indices torch.argsort:同torch.sort()返回的indices参数input:输入矩阵 dim:排序维度,默认为dim=1,即对行排序 descending:排序方式(从小到大和从大到小),默认为从小到大排序(即de
torch.zeros_like()和torch.ones_like()简要介绍 定义torch.zeros_like(input) torch.ones_like(input)用法分别生成和输入数据维度一致的全为0或全为1的内容示例import torcha = torch.tensor([[1,2,3],[4,5,6]])print(torch.zeros_like(a))print(torch.ones_like(a))>>>tensor([[0, 0, 0], [0, 0, 0]]) tensor(
torch.normal()、torch.randn()和torch.rand()简要介绍 定义torch.normal(means,std,size)torch.randn(size)torch.rand(size)用法torch.normal():返回从均值means和标准差std的离散正态分布中抽取随机张量, torch.randn():生成满足标准正态分布(0~1)的随机张量 torch.rand():返回从区间[0, 1)的均匀分布中抽取的一组随机数示例import torchimport numpy as npa = torch.normal(10
torch.sum()、np.sum()和sum()简要介绍 定义torch.sum(input1,dim,keepdim) np.sum(input2,axis,keepdims) sum(input3,b)用法对矩阵数据求和input1:输入矩阵,tensor类型 dim:要求和的维度,默认求所有元素之和 keepdim:求和之后,被求和的维度元素个数为1,所以要被去掉,若要保留,应keepdim=true input2:输入矩阵,ndarray类型 axis:要求和的维度,同dim keepdims:同keepdim input3:
np.repeat()简要介绍 定义np.repeat(a,repeats,axis)用法用于复制矩阵的数据a:输入数据repeats:复制次数axis:复制的维度,默认则将输入矩阵一维展开示例import numpy as npa = np.array([[1,2,3],[4,5,6]])print(np.repeat(a,2))print(np.repeat(a,2,axis=0))print(np.repeat(a,2,axis=1))>>>array([1, 1,
np.array()和np.asarray()简要介绍 定义np.array(a)和np.asarry(a)用法array和asarray都可以将结构数据转化为ndarray,但是主要区别就是当数据源是ndarray时,array仍然会copy出一个副本,占用新的内存,但asarray不会。示例import numpy as npa = np.random.random((3,4))print(a)b1 = np.array(a)b2 = np.asarray(a)a[1] = 1print(a)print(b1)pr
np.power()简要介绍 定义np.power(a,b)用法若b为单个数字,则对a各个元素分别求b次方若b为数组,其列数要与a相同,并求相应的次方示例import numpy as npa = [[1,2,3],[4,5,6]]b1 = 3b2 = [1,2,3]print(np.power(a,b1))#第二个参数b为单个数字>>>[[ 1 8 27] [ 64 125 216]]print(np.power(a,b2))#第二个参数b为数组>
cv2.inRange()简要介绍 定义cv2.inRange(image,lower,high)用法image:原图像 lower:图像中低于这个lower_red的值,值变为0 upper:图像中高于这个upper_red的值,值变为0 而在lower_red~upper_red之间的值变成255示例 hsv = cv2.cvtColor(rgb_image, cv2.COLOR_BGR2HSV) lower_red = np.array([20, 20, 20]) upper_red =
cv2.bitwise_and()图像的与运算 定义dst=cv2.bitwise_and(src1,src2[,mask]])用法实现按位与运算dst表示与输入值具有同样大小的array输出值。 src1表示第一个array或scalar类型的输入值。 src2表示第二个array或scalar类型的输入值。 mask表示可选操作掩码,8位单通道array。特点:将任何数值N与数值0进行按位与操作,都会得到数值0。 将任何数值N(这里仅考虑8位值)与数值255(8位二进制数是11111111)进行按位与操作,...
cv2.threshold()、OTSU和cv2.adaptiveThreshold()简要介绍 定义cv2.threshold(src, thresh, maxval, type)用法src: 输入图(只能输入灰度图像) thresh: 阈值 type:二值化操作的类型 maxval:当type指定为THRESH_BINARY或THRESH_BINARY_INV时,需要设置该值其中,type包含以下5种类型:cv2.THRESH_BINARY cv2.THRESH_BINARY_INV cv2.THRESH_TRUNC cv2.THRESH_TOZERO cv2.THR
cv2.add()和cv2.addWeighted()简要介绍 定义cv2.add(X,Y)cv2.addWeighted(X,a,Y,y,b)用法使用cv2.add(X,Y)是一种饱和操作,不同于numpy的加法(res = img1+img2)是一种模操作而cv2.addWeighted(X,a,Y,y,b)也是加法,不同的是两幅图像的权重不同,这会给人一种混合或者透明的感觉。计算公式如下:g(x) = (1−α)f0 (x)+αf1 (x)例如:将两幅图像混合,第一幅权重为0.7.第二幅权重为0.3。函数cv2.addWeighed()