我一直在寻找这个问题的一些可能的解决方案,我发现可以使用PIL库,但我想问一下是否有可能通过使用for循环来解决这个问题。
这是我尝试过的:
! git clone https://github.com/carldjapardi/Trial-
import numpy as np
from matplotlib.pyplot import imshow
from PIL import Image
path = "/content/Trial-/chaplin.jpg"
image = Image.open(path).convert('L')
mat_image = np.array(image) #turn to np array
m, n = mat_image.shape #img shape, m is the height, n is the width
mat_image_reversed = mat_image
for i in range(n):
reversed_column = []
for j in range(m-1, -1, -1):
reversed_column.append(mat_image_reversed[i][j])
mat_image_reversed[i] = reversed_column
imshow(mat_image_reversed, cmap = 'gray')问题是我一直收到一个:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-33-84670325c66b> in <module>()
----> 7 mat_image_reversed[i] = reversed_column
ValueError: cannot copy sequence with size 394 to array axis with dimension 700我尝试用mat_image_reversed[j] = reversed_column替换它,但它给出了相同的错误
有人能告诉我哪里出了问题吗?
发布于 2020-10-28 20:09:55
…
for i in range(m):
reversed_column = []
for j in range(n-1, -1, -1):
…但我想你需要的是:
mat_image_reversed = np.flip(mat_image,0)或
mat_image_reversed = np.flip(mat_image,1)相应地。
https://stackoverflow.com/questions/64572300
复制相似问题