我有以下image。我想从该图像中提取六张图像,以使每张图像的裁剪部分都位于红色框中,其余图像应为黑色。我尝试在阈值this image上使用findcontour函数,但它检测到的轮廓数量超过实际数量。对于轮廓检测,我编写了以下代码。
im = cv2.imread('4.png', 0)
test = np.zeros(im.shape)
cnts = cv2.findContours(im,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
for cnt in cnts:
print(cv2.boundingRect(cnt),cv2.contourArea(cnt))#,approx)
我得到以下输出(轮廓区域几乎相同)
(951, 361, 73, 48) 3356.0
(954, 365, 66, 40) 2495.0
(811, 361, 86, 48) 3958.0
(814, 365, 80, 40) 3039.5
(671, 361, 86, 48) 3957.0
(674, 365, 80, 40) 3039.5