opencv怎么编写函数实现水平垂直翻转,不能用flip

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()



如对你有帮助,请点击采纳按钮支持。