小编Ali*_*asi的帖子

有什么办法可以裁剪框内的图像吗?

图像

我只想裁剪框或矩形内的图像。我尝试了很多方法但没有任何效果。

import cv2
import numpy as np

img  = cv2.imread("C:/Users/hp/Desktop/segmentation/add.jpeg", 0);
h, w = img.shape[:2]
# print(img.shape)
kernel = np.ones((3,3),np.uint8)

img2 = img.copy()

img2 = cv2.medianBlur(img2,5)
img2 = cv2.adaptiveThreshold(img2,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,\
            cv2.THRESH_BINARY,11,2)

img2 = 255 - img2
img2 = cv2.dilate(img2, kernel)
img2 = cv2.medianBlur(img2, 9)
img2 = cv2.medianBlur(img2, 9)

cv2.imshow('anything', img2)
cv2.waitKey(0)
cv2.destroyAllWindows()


position = np.where(img2 !=0)
x0 = position[0].min()
x1 = position[0].max()
y0 = position[1].min()
y1 = position[1].max()

print(x0,x1,y0,y1)

result = img[x0:x1,y0:y1]

cv2.imshow('anything', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

输出应该是正方形内的图像。

python opencv numpy image image-processing

2
推荐指数
1
解决办法
466
查看次数

标签 统计

image ×1

image-processing ×1

numpy ×1

opencv ×1

python ×1