我正在尝试在沙发上创建视图。以下是我的查询
import cv2
import numpy as np
import pyautogui
import time
#image recognition
def imagesearch(image, precision=0.8):
im = pyautogui.screenshot()
img_rgb = np.array(im)
img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)
template = cv2.imread(image, 0)
template.shape[::-1]
res = cv2.matchTemplate(img_gray, template, cv2.TM_CCOEFF_NORMED)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
if max_val < precision:
return [-1,-1]
return max_loc
#continuous image searching on screen
def imagesearch_loop(image, timesample, precision=0.8):
pos = imagesearch(image, precision)
while pos[0] == -1:
print(image+" not found, waiting")
time.sleep(timesample)
pos = imagesearch(image, precision)
return pos
try:
while True:
pos = imagesearch_loop("Bonus_Box.png", 0.5)
while not (imagesearch_loop("Bonus_Box.png", 0.5)):
print("Hello")
#do things..., after everything finishes and no image found return to while
print("image found ", "x:", pos[0], "y:", pos[1])
except KeyboardInterrupt:
pass
但是,我遇到了以下异常:
function (doc, meta) {
if (doc._class == "com.abc.xyz.Account" && doc.accountId) {
emit(doc.accountId, null);
}
}
不确定查询的问题是什么。尝试搜索解决方案,但找不到任何解决方案。
答案 0 :(得分:2)
问题中提到的javascript函数似乎是Couchbase Map/Reduce View Engine的定义。可以使用SDK或REST API来查询这些内容,有关详细信息,请参见View Querying部分。此外,“地图/缩小视图” UI(定义地图/缩小功能的位置相同)在查询正在定义的视图方面功能有限。
Couchbase查询UI专用于N1QL / SQL ++查询。提到的功能可以很容易地在N1QL中表达:
CREATE INDEX ON mybucket(accountId) WHERE _class == "com.abc.xyz.Account";
因此,不必创建Couchbase Map / Reduce视图。并且可以查询上述索引,例如:
SELECT count(*) FROM mybucket WHERE _class == "com.abc.xyz.Account";
我确定您提到的上述功能只是一个示例,实际用例更为复杂,但是通用方法仍然适用。从声明性工具(N1QL)开始是一个好主意,因为它使用起来更简单。
有很多有用的资源,例如N1QL Tutorial,可以帮助您开始使用N1QL。这将是大多数用例的最佳起点。