缩小 原始大小 放大并剪切后
在这里插入图片描述 在这里插入图片描述 在这里插入图片描述
img=crop_image(cv2.resize(img, None, fx=1, fy=1, interpolation=cv2.INTER_CUBIC),new_height,new_width)
mini= cv2.resize(cv2.copyMakeBorder(img, P_A, P_A, P_A, P_A, cv2.BORDER_REPLICATE), (150, 150))

其中有将矩阵转Image、Image转矩阵两个过程。

def crop_image(re_img,new_height,new_width):
    re_img=Image.fromarray(np.uint8(re_img))
    width, height = re_img.size
    left = (width - new_width)/2
    top = (height - new_height)/2
    right = (width + new_width)/2
    bottom = (height + new_height)/2
    crop_im = re_img.crop((left, top, right, bottom)) #Cropping Image
    crop_im = np.asarray(crop_im)
    return crop_im
new_width = 150     #Enter the crop image width
new_height = 150    #Enter the crop image height
img = cv2.imread("learn/cats/cat.3.jpg")
img=cv2.resize(img,(150,150))
P_A=50
img=crop_image(cv2.resize(img, None, fx=1, fy=1, interpolation=cv2.INTER_CUBIC),new_height,new_width)
plt.imshow(img)
plt.title('cat')
plt.show()
                    python放大并按图片中心剪切、放大缩小原始大小放大并剪切后放大img=crop_image(cv2.resize(img, None, fx=1, fy=1, interpolation=cv2.INTER_CUBIC),new_height,new_width)缩小mini= cv2.resize(cv2.copyMakeBorder(img, P_A, P_A, P_A, P_A, cv2.BORDER_REPLICATE), (150, 150)
				
上一篇可以看到图片大小是1920*1080*3,现在假如剪切成1000*1000*3的图片,当然也可以读取灰度图。from skimage import io picture = io.imread("C:/Users/huyuan/Pictures/Camera Roll/1.jpg")# 图片路径 io.imshow(picture)""" 中心裁剪任意尺寸的图片(以中心为原点) ""...
import matplotlib.pyplot as plt def label2picture(cropImg,framenum,tracker): pathnew ="E:\\img2\\" # cv2.imshow("image", cropImg) # cv2.waitKey(1) if (os.path.exists(pathnew + tracker)): cv2.imw
#–author:zhaozhao #date:2020/08/06 功能:对图片进行定点裁剪,一张图片需要裁剪出一个矩形的话只需要两个点,左上角和右下角(point1,point2 ),并截取一部分保存 cv2的安装 cmd命令窗口下 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python 显示安装成功后输入python,再import cv2不报错则表示安装成功,若pycharm仍然显示错误,在settings的proj
cv2模块,可以快速将图片裁剪成所需要的大小,至于裁剪的位置嘛,需要事先计算一下。 改进方向:自动按中间的位置裁剪,再升级可以改进为自动识别中心位置并进行裁剪 【这次升级为批量裁剪啦!】 1. 安装cv2模块 pip install -i https://pypi.tuna.tsinghua.edu.c image_clip = image_rgb[int(top):(int(top) + int(height)), int(left):(int(left) + int(width))]   这里特别需要说明: 1.需要安装一个python包 安装 pyclipper python 的话,直接pip install pyclipper 地址:https://pypi.org/project/pyclipper/ 中文文档:https://www.cnblogs.com/zhigu/p/11943118.html 2.轮廓点等距离外扩 def equidistant_zoom_contour(contour, margin): 等距离缩放多边形轮廓点