示例#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)