Beispiel #1
0
    def test_check_required(self):
        """key必須チェック
        """
        data = {"items": [{"sequence": 123}]}
        self.assertNotEqual(validate.valid(data), "OK")

        data = {"items": [{"item": "coffee"}]}
        self.assertNotEqual(validate.valid(data), "OK")
Beispiel #2
0
def index():
    if not request.method == 'POST':
        abort(405)
    data = json.loads(request.data.decode('utf-8'))
    ret = vl.valid(data)
    if not ret == 'OK':
        app.logger.error('schema error')
        abort(400)
    return jsonify({"message": "OK"})
Beispiel #3
0
 def test_validation_check(self):
     """正常系テスト
     """
     data = {
         "items": [{
             "item": "coffee",
             "sequence": 123
         }, {
             "item": "mocha",
             "sequence": 456
         }]
     }
     self.assertEqual(validate.valid(data), "OK")
def detect(rgb):
#   for validation
    predictList = []            
    featureList = []
    index = 0

    rgb = cv2.resize(rgb,(400,300))
    
    gray = cv2.cvtColor(rgb,cv2.COLOR_RGB2GRAY)
    
    #red, yellow segmentation
    segIm = image_process.color_segmentation(rgb)
    
#   filtering ROIs
    statsListR,roiListR = image_process.get_roi(segIm[0],rgb, 1)
    
    statsListY,roiListY = image_process.get_roi(segIm[1],rgb, 2)
    
    statsList = statsListR + statsListY
    roiList = roiListR + roiListY
    
  
##  HOG feature of shape
    if len(roiList) > 0:
        for idx, roi in enumerate(roiList):

            feature = image_process.hogFeature(roi,(60,60), 9,(8,8), (2,2), 'L2')

            if feature is not None:  
                featureList.append(feature)

#   predict shape and sign        
    if len(featureList) > 0:    

        featureList = np.float32(featureList)

        predictList = svm1.predict(featureList)[1].ravel()

        #speed limit sign -> predict number
        for idx, predict in enumerate(predictList):
            if predict == 1 or predict == 2 or predict == 3:
                feat= []

                img = np.uint8(gray[statsList[idx][1]:statsList[idx][3], statsList[idx][0]:statsList[idx][2]])

                img = cv2.equalizeHist(img)
                numIm = image_process.hogFeature(img, (100,100),9,(6,6),(2,2),'L2')

                feat.append(numIm)
                predictNum = svm_num.predict(np.float32(feat))[1].ravel()
                predictList[idx]= predictNum

#       draw bounding box 
        for index,predict in enumerate(predictList):
            if predict > 0:
                drawBoundingBox(statsList[index], predictList[index],rgb)
      
        print("predicted signs: %s" % predictList)
        
#   validation     
    num = dic_shapes[category]
    valid(predictList, num)
Beispiel #5
0
 def test_check_item_type(self):
     """item型チェック
     """
     data = {"items": [{"item": True, "sequence": 123}]}
     self.assertNotEqual(validate.valid(data), "OK")
Beispiel #6
0
 def test_check_items_type(self):
     """items型チェック
     """
     data = {"items": {"item": "coffee", "sequence": 12356}}
     self.assertNotEqual(validate.valid(data), "OK")
Beispiel #7
0
 def test_check_sequence_digit(self):
     """sequence桁数チェック
     """
     data = {"items": [{"item": "coffee", "sequence": 12356}]}
     self.assertNotEqual(validate.valid(data), "OK")