opencv python编写函数实现图片水平垂直翻转,不使用cv2.flip()和np.flip()。
可以用pil模块的Image.transpose(),如果要自己写,这个太费劲了,何必要自己造轮子
可以参考一下代码
from PIL import Image
im = Image.open('test.jpg')
flip_left_right = im.transpose(Image.FLIP_LEFT_RIGHT) # 水平翻转
flip_top_bottom = im.transpose(Image.FLIP_TOP_BOTTOM) # 垂直翻转
flip_left_right.save('flip_left_right.jpg')
flip_top_bottom.save('flip_top_bottom.jpg')
用imread读取图像为ndarray后,用img[::-1]进行翻转即可,与使用cv2.flip(img,0)实现的效果一样。代码如下:
import cv2
img=cv2.imread('shopee0.jpg')
#cv2.imshow('img',img)
def myflip():
img1=img[::-1]
return img1
#cv2.imshow('img',cv2.flip(img,0))#为测试与自定义函数显示对比,可将注释去掉。
cv2.imshow('img1', myflip())
cv2.waitKey(0)
cv2.destroyWindow()
如对你有帮助,请点击采纳按钮支持。