Пример #1
0
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
Пример #2
0
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)
Пример #3
0
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)
Пример #4
0
                  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)



Пример #5
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)







    



Пример #6
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)