np.zeros初始化图像

简介: np.zeros初始化图像

今天做插值算法时,自生成了一个图像用于表示缩放后的图像

使用np.zeros(width,height)来进行了初始化,但是进行完缩放后,显示的图像很明显不对劲,但如果将缩放后的结果保存为图像,再加载又是显示正常的。

后来我猜测会不会跟初始化时的类型有关,试了一下,果不其然,增加了dtype=np.uint8后,进行完插值算法的结果显示正常。

dstImg=np.zeros((500,500,3),np.uint8)

图1为不加np.uint8时的结果,图二为加了之后的结果。

 


找到问题之后,进行原因分析就简单了:

首先,我猜测其初始化为浮点数后,后面虽然将其赋值为整数,但其存储类型可能还是浮点数,因此直接通过cv2显示,好多点应该显示不出来。

经过断点调试发现,默认初始化后的类型为float64,虽然结果都是整数,但因其类型不对从而导致图像不能正常显示。


经验:

       这里可以学习到一个经验,再处理图像时,我们可以直接将其类型限定为np.uint8,以避免不必要的麻烦。

相关文章
|
11天前
|
机器学习/深度学习 索引 Python
Numpy学习笔记(二):argmax参数中axis=0,axis=1,axis=-1详解附代码
本文解释了NumPy中`argmax`函数的`axis`参数在不同维度数组中的应用,并通过代码示例展示了如何使用`axis=0`、`axis=1`和`axis=-1`来找到数组中最大值的索引。
39 0
Numpy学习笔记(二):argmax参数中axis=0,axis=1,axis=-1详解附代码
|
11天前
|
Python
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
NumPy库中的`np.concatenate`和`np.append`函数,它们分别用于沿指定轴拼接多个数组以及在指定轴上追加数组元素。
21 0
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
|
2月前
|
存储 机器学习/深度学习 算法框架/工具
张量(Tensor)、标量(scalar)、向量(vector)、矩阵(matrix)
张量(Tensor)、标量(scalar)、向量(vector)、矩阵(matrix)
40 1
|
5月前
使用zeros()函数创建数组
使用zeros()函数创建数组。
65 6
|
计算机视觉
OpenCV-矩阵变形reshape
OpenCV-矩阵变形reshape
131 0
|
计算机视觉
OpenCV-矩阵归一化cv::normalize
OpenCV-矩阵归一化cv::normalize
|
计算机视觉 Python
cv2 resize 与reshape的区别
cv2 resize 与reshape的区别
|
机器学习/深度学习 算法
随机装箱特征模型(Random Binning Feature Model)代码
在上述代码中,我们首先定义了一个名为RandomBinningFeatureModel的类,并在其__init__方法中接受一个参数num_bins,表示装箱的数量。然后,我们定义了一个名为fit_transform的方法,该方法接受原始输入数据x作为参数,并返回转换后的特征张量xb。
150 0
|
机器学习/深度学习 PyTorch 算法框架/工具
Numpy | np.random随机模块的使用介绍
Numpy | np.random随机模块的使用介绍
237 0
Numpy | np.random随机模块的使用介绍
|
Python
【Numpy库学习笔记】Numpy中dim、shape和size的理解
【Numpy库学习笔记】Numpy中dim、shape和size的理解
320 0