def DocScanner(): global widthImg global heightImg widthImg = 540 heightImg = 640 cap = cv2.VideoCapture(0) cap.set(3, widthImg) # setting width cap.set(4, heightImg) # setting height cap.set(10, 150) # set brightness while True: _, img = cap.read() if img is None: continue cv2.resize(img, (widthImg, heightImg)) imgContour = img.copy() imgThres = preProcessing(img) biggest = getContours(imgThres, imgContour) if biggest.size != 0: imgWarped = getWarp(img, biggest) # imageArray = ([img,imgThres], # [imgContour,imgWarped]) imageArray = ([imgContour, imgWarped]) cv2.imshow("ImageWarped", imgWarped) else: # imageArray = ([img, imgThres], # [img, img]) imageArray = ([imgContour, img]) stackedImages = stackImages(0.6, imageArray) cv2.imshow("WorkFlow", stackedImages) if cv2.waitKey(1) & 0xFF == ord('q'): break
def detect_color(path): # add track bar def empty(x): pass cv2.namedWindow('TrackBar') cv2.resizeWindow('TrackBar', 640, 240) cv2.createTrackbar('Hue min', 'TrackBar', 0, 179, empty) cv2.createTrackbar('Hue max', 'TrackBar', 179, 179, empty) cv2.createTrackbar('Saturation min', 'TrackBar', 0, 255, empty) cv2.createTrackbar('Saturation max', 'TrackBar', 255, 255, empty) cv2.createTrackbar('Val min', 'TrackBar', 0, 255, empty) cv2.createTrackbar('Val max', 'TrackBar', 255, 255, empty) while True: img = cv2.imread(path) imgHSV = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # get the values from track bar h_min = cv2.getTrackbarPos('Hue min', 'TrackBar') h_max = cv2.getTrackbarPos('Hue max', 'TrackBar') s_min = cv2.getTrackbarPos('Saturation min', 'TrackBar') s_max = cv2.getTrackbarPos('Saturation max', 'TrackBar') v_min = cv2.getTrackbarPos('Val min', 'TrackBar') v_max = cv2.getTrackbarPos('Val max', 'TrackBar') lower = np.array([h_min, s_min, v_min]) upper = np.array([h_max, s_max, v_max]) mask = cv2.inRange(imgHSV, lower, upper) imgMasked = cv2.bitwise_and(img, img, mask=mask) # cv2.imshow('Original image', img) # cv2.imshow('HSV image', imgHSV) # cv2.imshow('Mask image', mask) # cv2.imshow('Masked image', imgMasked) imgStack = stackImages(0.6, ([img, imgHSV], [mask, imgMasked])) cv2.imshow('Stacked Images', imgStack) cv2.waitKey(1)
def shape_contour(path): img = cv2.imread(path) imgContour = img.copy() imgGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # convert to gray scale imgBlur = cv2.GaussianBlur(imgGray, (5, 5), 1) # blur image imgCanny = cv2.Canny(img, 50, 50) # detecting edges imgBlank = np.zeros_like(img) getContours(imgCanny, imgContour) # cv2.imshow('Original Imge', img) # cv2.imshow('Gray Imge', imgGray) # cv2.imshow('Blur Imge', imgBlur) imgStack = stackImages( 0.6, ([img, imgGray, imgBlur], [imgCanny, imgContour, imgBlank])) cv2.imshow('Stacked Images', imgStack) cv2.waitKey(0) # shape_contour(path2)
elif ver > 4: o_type = "circle" else: o_type = "nonetype" cv.putText(res_img, o_type, (x+(w//2)-10,y+(h//2)-10), cv.FONT_HERSHEY_COMPLEX, 0.7, (0,0,240), 1) path = "resources/shapes.jpg" image = cv.imread(path) image = zeroPadding(image) res_img = image.copy() binary = cv.cvtColor(image, cv.COLOR_BGR2GRAY) blur = cv.GaussianBlur(binary, (7, 7), 1.5) canny = cv.Canny(blur, 150, 200) getContour(canny) stc_image = stackImages(1, [image, res_img]) cv.imshow("winname", stc_image) cv.waitKey(0)
import cv2 import numpy as np from helper import stackImages #WARP PERSPECTIVE EXAMPLE image = cv2.imread("resources/card.jpg") width = 200 height = 300 source = np.float32([[668, 722], [1819, 22], [2035, 2173], [3203, 1304]]) dst = np.float32([[0, 0], [width, 0], [0, height], [width, height]]) p_matrix = cv2.getPerspectiveTransform(source, dst) output = cv2.warpPerspective(image, p_matrix, (width, height)) s_img = stackImages(2, [output, image]) cv2.imshow("stack image", s_img) cv2.waitKey(0)
cv2.createTrackbar("min_sat", "Trackbars", 0, 255, empty) cv2.createTrackbar("max_sat", "Trackbars", 100, 255, empty) cv2.createTrackbar("min_val", "Trackbars", 0, 255, empty) cv2.createTrackbar("max_val", "Trackbars", 110, 255, empty) cap = cv2.VideoCapture(0, cv2.CAP_DSHOW) while True: # image = cv2.imread("resources/shapes.jpg") # image = cv2.resize(image, (620, 480)) ret, image = cap.read() img_hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) h_min = cv2.getTrackbarPos("min_hue", "Trackbars") h_max = cv2.getTrackbarPos("max_hue", "Trackbars") s_min = cv2.getTrackbarPos("min_sat", "Trackbars") s_max = cv2.getTrackbarPos("max_sat", "Trackbars") v_min = cv2.getTrackbarPos("min_val", "Trackbars") v_max = cv2.getTrackbarPos("max_val", "Trackbars") lower = np.array([h_min, s_min, v_min]) upper = np.array([h_max, s_max, v_max]) print(lower) print(upper) mask = cv2.inRange(img_hsv, lower, upper) img_res = cv2.bitwise_and(image, image, mask=mask) stacked_images = stackImages(0.5, ([mask, img_res], [image, img_hsv])) cv2.imshow("res", stacked_images) cv2.waitKey(1)