コード例 #1
0
 def test_batch_image_recognition(self):
     test_data = os.path.normpath(os.path.join(DIR, "data", "fear.png"))
     response = image_recognition([test_data, test_data], api_key = self.api_key, top_n=3)
     self.assertIsInstance(response, list)
     self.assertIsInstance(response[0], dict)
     self.assertEqual(len(response[0]), 3)
     self.assertIsInstance(list(response[0].values())[0], float)
コード例 #2
0
 def analyze_image(self, gif_url):
     """
     Checks to see if there are any recognizable objects in the gifs, and if there are performs sentiment analysis on the objects. Then it outputs the average of the sentiment analysis of all the objects
     """
     gif_output = []
     #print(gif_url)
     while True:
         try:
             gif_output = indicoio.image_recognition(gif_url)
             break
         except ValueError:
             #print('oops')
             return None
     #print(gif_output)
     self.list_objects = [
         name for name, prob in gif_output.items() if prob > .1
     ]
     if len(self.list_objects) == 1:
         self.sentiment_output = indicoio.sentiment_hq(self.list_objects[0])
     elif len(self.list_objects) == 0:
         return self.text_sentiment
     else:
         self.sentiment_output = indicoio.sentiment_hq(self.list_objects)
         self.sentiment_output = np.mean(self.sentiment_output)
     return self.sentiment_output
コード例 #3
0
ファイル: routes.py プロジェクト: tzai/HackThe6ix
def processImage():
	url = request.args.get("url")
	r = requests.get(url, stream = True)
	encoded_string = base64.b64encode(r.content)
	indicoResult = indicoio.image_recognition(encoded_string, top_n=2, hq=True)
	app.logger.debug(indicoResult)
	
	return json.jsonify(uri=encoded_string, keywords=indicoResult)
コード例 #4
0
 def test_batch_image_recognition(self):
     test_data = os.path.normpath(os.path.join(DIR, "data", "fear.png"))
     response = image_recognition([test_data, test_data],
                                  api_key=self.api_key,
                                  top_n=3)
     self.assertIsInstance(response, list)
     self.assertIsInstance(response[0], dict)
     self.assertEqual(len(response[0]), 3)
     self.assertIsInstance(list(response[0].values())[0], float)
コード例 #5
0
dresses = ["dress", "gown"]
tops = ["button", "blouse", "shirt", "top"]
bottoms = ["pants", "skirt", "trousers", "denim", "jeans", "shorts", "slacks"]

clothing = []
i=0
for root, dirs, files in os.walk("imgs"):
    for image in files:
        if image.endswith("jpg"):
            clothing.append(os.path.join(root, image))
            i+=1

            if i == 500:
                break
            
clothes = indicoio.image_recognition(clothing)
j = open('jackets.txt', 'w')
d = open('dresses.txt', 'w')
t = open('tops.txt', 'w')
b = open('bottoms.txt', 'w')

i=0
for cloth in clothes:
    sortC = sorted(cloth.items(), key=operator.itemgetter(1), reverse=True)
    print(sortC[0][0])
    if any(s in sortC[0][0] for s in jackets):
        j.write(clothing[i]+"!"+sortC[0][0]+"?")
    elif any(s in sortC[0][0] for s in dresses):
        d.write(clothing[i]+"!"+sortC[0][0]+"?")
    elif any(s in sortC[0][0] for s in tops):
        t.write(clothing[i]+"!"+sortC[0][0]+"?")
コード例 #6
0
 def test_expected_response(self):
     test_data = os.path.normpath(os.path.join(DIR, "data", "keyboard.jpg"))
     response = image_recognition(test_data, api_key=self.api_key, top_n=3)
     assert "space bar" in response.keys()
コード例 #7
0
 def test_expected_response(self):
     test_data = os.path.normpath(os.path.join(DIR, "data", "keyboard.jpg"))
     response = image_recognition(test_data, api_key = self.api_key, top_n=3)
     assert "space bar" in response.keys()
コード例 #8
0
def findThings(thePath):
    #finds the objects in the photo
    theObj = indicoio.image_recognition(thePath, top_n=3)

    return theObj.keys()
コード例 #9
0
import cv2
import time

import indicoio
indicoio.config.api_key = 'd17e09c08d43f673f05743ec7304c9be'

cap = cv2.VideoCapture(0)

while(True):
    # Capture frame-by-frame
    time.sleep(.2) #a pause so that this doesn't process EVERY frame (twould be overly expensive/time-consuming)
    ret, frame = cap.read()

    # Display the resulting frame
    cv2.imshow('frame',frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
    highestProb=[0]
    highestItem=['thing']
    #print indicoio.image_recognition(frame)
    probDict= indicoio.image_recognition(frame) #returns a dictionary of 1000 "likely" items and the probability that it is the object...
    for item in probDict:
    	if(probDict[item]>highestProb[0]): #finding the most likely object on the screen
    		highestProb[0]=probDict[item] #returning a list so that we know what the top 5 objects are
    		highestItem[0]=item
    print highestProb
    print highestItem

# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()