i have a problem about encountering a wrong detection with this image ..i've used the cv.equalizeHist to brighten my images but there are some images with darker corners so my code fails to the detect the square image.
1 | initial version |
i have a problem about encountering a wrong detection with this image ..i've used the cv.equalizeHist to brighten my images but there are some images with darker corners so my code fails to the detect the square image.
i have a problem about encountering a wrong detection with this image ..i've used the cv.equalizeHist to brighten my images but there are some images with darker corners so my code fails to the detect the square image.
here's my code:
img = cv2.imread("AR5890039763178.tif")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
equ = cv2.equalizeHist(gray)
h,w,d= img.shape rect_img = np.zeros((h,w), np.uint8)
ret3,mask = cv2.threshold(equ,77,255,cv2.THRESH_BINARY) blurred = cv2.GaussianBlur(mask,(5,5),0) masked_data = cv2.bitwise_not(rect_img, rect_img, mask=mask)
lst_area = [] lst_rect = []
(_,contours,_) = cv2.findContours(masked_data, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
for contour in contours: area = cv2.contourArea(contour) rect = cv2.boundingRect(contour) lst_area.append((area)) lst_rect.append((rect))
crop_img = cv2.rectangle(img, (rect[0],rect[1]), (rect[2]+rect[0],rect[3]+rect[1]), (0,255,0), 2)
cv2.imwrite('test.tif',blurred)
i have a problem about encountering a wrong detection with this image ..i've used the cv.equalizeHist to brighten my images but there are some images with darker corners so my code fails to the detect the square image.
here's my code:
img = cv2.imread("AR5890039763178.tif")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
equ = cv2.equalizeHist(gray)
h,w,d= img.shape rect_img = np.zeros((h,w), np.uint8)
ret3,mask = cv2.threshold(equ,77,255,cv2.THRESH_BINARY) blurred = cv2.GaussianBlur(mask,(5,5),0) masked_data = cv2.bitwise_not(rect_img, rect_img, mask=mask)
lst_area = [] lst_rect = []
(_,contours,_) = cv2.findContours(masked_data, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
for contour in contours: area = cv2.contourArea(contour) rect = cv2.boundingRect(contour) lst_area.append((area)) lst_rect.append((rect))
crop_img = cv2.rectangle(img, (rect[0],rect[1]), (rect[2]+rect[0],rect[3]+rect[1]), (0,255,0), 2)
cv2.imwrite('test.tif',blurred)
i have a problem about encountering a wrong detection with this image ..i've used the cv.equalizeHist to brighten my images but there are some images with darker corners so my code fails to the detect the square image.
here's my code:
img =
cv2.imwrite('test.tif',blurred)
5 | None |
i have a problem about encountering a wrong detection with this image ..i've used the cv.equalizeHist to brighten my images but there are some images with darker corners so my code fails to the detect the square image.
here's my code:
img = cv2.imread("AR5890039763178.tif")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
equ = cv2.equalizeHist(gray)
h,w,d= img.shape
rect_img = np.zeros((h,w), np.uint8)
# default thresh=120, maxval=100
# threshold to get just the signature
# a = cv2.Canny(gray, threshold1 = 0, threshold2 = 255, apertureSize = 3)
# gray = cv2.GaussianBlur(gray,(5,5),0)
# retval, b = cv2.threshold(gray, thresh=127, maxval=255, type=cv2.THRESH_BINARY)
ret3,mask = cv2.threshold(equ,77,255,cv2.THRESH_BINARY)
blurred = cv2.GaussianBlur(mask,(5,5),0)
masked_data = cv2.bitwise_not(rect_img, rect_img, mask=mask)
lst_area = []
lst_rect = []
(_,contours,_) = cv2.findContours(masked_data, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
for contour in contours:
area = cv2.contourArea(contour)
rect = cv2.boundingRect(contour)
lst_area.append((area))
lst_rect.append((rect))
crop_img = cv2.rectangle(img, (rect[0],rect[1]), (rect[2]+rect[0],rect[3]+rect[1]), (0,255,0), 2)
cv2.imwrite('test.tif',blurred)
6 | retagged |
i have a problem about encountering a wrong detection with this image ..i've used the cv.equalizeHist to brighten my images but there are some images with darker corners so my code fails to the detect the square image.
here's my code:
img = cv2.imread("AR5890039763178.tif")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
equ = cv2.equalizeHist(gray)
h,w,d= img.shape
rect_img = np.zeros((h,w), np.uint8)
# default thresh=120, maxval=100
# threshold to get just the signature
# a = cv2.Canny(gray, threshold1 = 0, threshold2 = 255, apertureSize = 3)
# gray = cv2.GaussianBlur(gray,(5,5),0)
# retval, b = cv2.threshold(gray, thresh=127, maxval=255, type=cv2.THRESH_BINARY)
ret3,mask = cv2.threshold(equ,77,255,cv2.THRESH_BINARY)
blurred = cv2.GaussianBlur(mask,(5,5),0)
masked_data = cv2.bitwise_not(rect_img, rect_img, mask=mask)
lst_area = []
lst_rect = []
(_,contours,_) = cv2.findContours(masked_data, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
for contour in contours:
area = cv2.contourArea(contour)
rect = cv2.boundingRect(contour)
lst_area.append((area))
lst_rect.append((rect))
crop_img = cv2.rectangle(img, (rect[0],rect[1]), (rect[2]+rect[0],rect[3]+rect[1]), (0,255,0), 2)
cv2.imwrite('test.tif',blurred)