gpt4 book ai didi

python-3.x - 图像调整大小无法在OpenCV Python中显示正确的图像

转载 作者:行者123 更新时间:2023-12-02 17:04:03 24 4
gpt4 key购买 nike

我正在将Opencv 4.1.0与python 3一起使用。

我将480 X 640尺寸的原始图像调整为500 x 500,可以正常工作。

再次将500 X 500图像的大小调整为25000 X 1。我这样做是为了使用PCA进行面部识别。

再次将图像大小从25000 X 1调整为500 X 500时,它没有显示500 X 500图像。相反,它显示黑白垂直线的错误输出。

有人可以指出这里出了什么问题吗?提前致谢。

import cv2
import numpy as np
image=cv2.imread('C://Users//raghu//Documents//Faces//gt_db//unique//IMG1.jpg',0)
I1=cv2.resize(image,(500,500))
I2=cv2.resize(I1,(25000,1))
I3=cv2.resize(I2,(500,500))
cv2.imshow('480x640',image)
cv2.imshow('25000X1',I2)
cv2.imshow('500x500',I1)
cv2.imshow('2-500X500',I3)
cv2.waitKey(0)
cv2.destroyAllWindows()

调整为I1的大小可以正常工作。期望I3的输出与I1相同。

最佳答案

通过缩小到1像素,您几乎失去了所有图像信息,因为所有y像素都被内插为每个x像素一个数字。通过重新调整该像素的大小,然后将其垂直复制到500px,因此我希望您获得条纹图案。

您不应该调整大小,而必须调整形状。这意味着将像素值从2d数组放到1d数组,这就是PCA算法所期望的。

例:

# create 2d array
y = np.array(range(9)).reshape(3,3)
print(y)

[[0 1 2]
[3 4 5]
[6 7 8]]


# reshape to 1d
x = y.reshape(-1)
print(x)
print(x.shape[:2])

[0 1 2 3 4 5 6 7 8]
(9,)



reshape documentation

关于python-3.x - 图像调整大小无法在OpenCV Python中显示正确的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57599844/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com