如何使用opencv python

时间:2019-01-04 12:58:00

标签: python opencv

我正在尝试将图像分为两部分 1)直到底部文本一幅图像 2)从文本到另一张图片结束。

我不知道从哪里开始,经历了几个回答,但仍然感到困惑。

Please find the original image

裁剪后我希望以

Top one

下面的图片是分开的

Bottom one

2 个答案:

答案 0 :(得分:2)

您可以基于像素定义裁切边距,并将其分配给新变量:

src_img = cv2.imread(image_file)


crop_img = src_img[h_start : h_end, w_start : w_end].copy()

cv2.imshow("original", src_img )
cv2.imshow("cropped", crop_img)

cv2.waitKey(0)

注意:

需要指定新图像末尾的copy(),否则原始图像将被覆盖

答案 1 :(得分:1)

您可以简单地基于像素值创建2个子图像。

您可以使用subimage = image[Y_start : Y_end, X_start : X_end]进行此操作。

下面的代码给出以下结果:

enter image description here

# load image
img = cv2.imread("map.png")

# create sub images
img_map = img[0:600, 0:600]
img_legend = img[600:705, 0:600]

#show images - to save the images, uncomment the lines below.
cv2.imshow("map", img_map)
cv2.imshow("legend", img_legend)
# cv2.imwrite('map_only.png',img_map)
# cv2.imwrite('legend_only.png',img_legend)
cv2.waitKey(0)
cv2.destroyAllWindows()