cv.imread()

cv.imread()读取图片

cv.imread('name',img) 显示图片

cv.waitKey() 窗口等待函数

import cv2
import numpy as np
import random
from PIL import Image
def random_rotate(image,
                  angles: list,
                  center = None,
                  scale_factor= 1.0) -> np.ndarray:
    """Rotate an image by a random angle

    Args:
        image (np.ndarray): Image read with OpenCV
        angles (list): Rotation angle range
        center (optional, tuple[int, int]): High resolution image selection center point. Default: ``None``
        scale_factor (optional, float): scaling factor. Default: 1.0

    Returns:
        rotated_image (np.ndarray): image after rotation

    """
    image_height, image_width = image.shape[:2]

    if center is None:
        center = (image_width // 2, image_height // 2)

    # Random select specific angle
    angle = random.choice(angles)
    matrix = cv2.getRotationMatrix2D(center, angle, scale_factor)
    rotated_image = cv2.warpAffine(image, matrix, (image_width, image_height))

    return rotated_image

if __name__=='__main__':
    # img=Image.open('./1.png')
    # img.show()
    # img=random_rotate(np.array(img),[90,45])
    # img=Image.fromarray(img)
    # img.show()
    img=cv2.imread('./1.png')
    img=random_rotate(img,angles=[45,45])
    # cv2.imshow('hh',img)
    # cv2.waitKey(10000)
    img=Image.fromarray(img)
    img.show()

注意 opencv读取的图片是array类型,图片格式是bgr。PIL读取的图片是 pil类型,图片的格式是rgb。所以两者在使用要注意相互转换,否则容易出现错误。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一壶浊酒..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值