我有一张1200 x 800大小的图片。
我想从这个图像中提取一个正方形的补丁,给出一个贴片中心500, 450和图像较小维的贴片尺度23%。
在opencv、skimage或任何允许我在python中进行操作的库中有什么函数吗?
发布于 2015-08-13 00:13:36
使用OpenCV python,您可以这样做:
import cv2
import numpy as np
# load the image
image = cv2.imread('path/to/your_image.jpg')
# define some values
patch_center = np.array([500, 450])
patch_scale = 0.23
# calc patch position and extract the patch
smaller_dim = np.min(image.shape[0:2])
patch_size = int(patch_scale * smaller_dim)
patch_x = int(patch_center[0] - patch_size / 2.)
patch_y = int(patch_center[1] - patch_size / 2.)
patch_image = image[patch_x:patch_x+patch_size, patch_y:patch_y+patch_size]
# show image and patch
cv2.imshow('image', image)
cv2.imshow('patch_image', patch_image)
cv2.waitKey()注意,这是一步一步地完成的,只是为了更容易理解。您可以直接执行这些步骤中的许多。
https://stackoverflow.com/questions/31968588
复制相似问题