我想為一個班級做一些python作業,但不能讓我的圖片翻轉。
importmatplotlib.pyplot as plt
import numpy as np
import requests
from io import BytesIO
response = requests.get('https://www.boredpanda.com/blog/wp-content/uploads/2014/08/cat-looking-at-you-black-and-white-photography-1.jpg')
im = Image.open(BytesIO(response.content))
px = im.load()
pix_val_flat = []
for x in range(0, im.width) 。
for y in range(0, im.height) 。
pix_val_flat.append(px[x, y])
print(pix_val_flat)
arr = np.array(pix_val_flat)
reversed_array = arr[::-1]
#def displayImage(pix_val_flat):
# plt.imshow(pix_val_flat)/span>
im.show(reversed_array)
是否有更好的方法來做這個?
uj5u.com熱心網友回復:
如果專門處理圖片,你應該考慮使用一個專門的庫來使你的生活更輕松。
例如,使用Pillow,你可以做到:
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
with Image.open("whatever_image.jpg") as im:
im = im.transpose(method=Image.FLIP_LEFT_RIGHT)
plt.imshow( np.asarray(im) )
在對你的陣列/影像(ram中的兩個數值矩陣)進行了所有你想要的修改之后,你可以很容易地將其保存為經典的影像格式檔案:
im1.save("ever_image_modified.jpg")
然而,還有很多其他的庫,根據你的喜好/要求,可以很好地維護影像處理。
舉幾個例子 :
- Scikit-image
- Scikit-image.
- OpenCV.
- Mahotas.
- SimplelTK.
- SciPy.
- Pillow.
- Matplotlib.
uj5u.com熱心網友回復:
你不一定需要任何特殊的功能來做到這一點,只要使用索引就可以了:
import numpy as np
import matplotlib.pyplot as plt
img = plt.imread("cat.jpg"/span>)
flipped_lr = img[:, ::-1, :]
flipped_ud = img[::-1, :, :]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/326891.html
標籤:
