Python 如何检测浅蓝色ID卡并在OpenCV中裁剪它?

Python 如何检测浅蓝色ID卡并在OpenCV中裁剪它?,python,opencv,computer-vision,opencv3.0,Python,Opencv,Computer Vision,Opencv3.0,我想检测并裁剪马来西亚身份证图像。请注意,我的首要任务是“不要丢失信息”。我的意思是,如果在某些情况下,我们无法检测到身份证并保留额外的图像,这没关系。但是我不想删除/删除身份证 我试着先保持蓝色,然后找到伯爵。但它不能正常工作。我需要找到好的价值观,我尝试了很多组合。但是我做不到 img = cv2.imread('test.jpg') lower_blue = np.array([120,110,0]) upper_blue = np.array([200,255,255]) mask =

我想检测并裁剪马来西亚身份证图像。请注意,我的首要任务是“不要丢失信息”。我的意思是,如果在某些情况下,我们无法检测到身份证并保留额外的图像,这没关系。但是我不想删除/删除身份证

我试着先保持蓝色,然后找到伯爵。但它不能正常工作。我需要找到好的价值观,我尝试了很多组合。但是我做不到

img = cv2.imread('test.jpg')
lower_blue = np.array([120,110,0])
upper_blue = np.array([200,255,255])
mask = cv2.inRange(img,lower_blue,upper_blue)

contours,_ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)

for contour in contours:
    (x,y,w,h) = cv2.boundingRect(contour)
    cv2.rectangle(img, (x,y), (x+w,y+h), (255,0,0), 10)
plt.imshow(img)

也许可以使用inRange()对蓝色进行颜色阈值设置。然后用形态学方法将孔封闭起来。然后得到轮廓。已经在范围内做了,我已经删除了个人细节的可疑用途。如果你想提供你想要处理的图片样本,可以发布一张匿名图片或一张虚构人物的图片样本。尽管有一张图片,但在这一点上,我觉得这个问题太广泛了,无论哪种方式都无法合理回答。