我搜索了一会儿,但只发现这个Answer相似。所以我在这里提出一个问题。我想按轨迹条缩放图像,我的代码如下所示:
import cv2
import numpy as np
img = cv2.imread('../data/logo.png')
cv2.namedWindow('scaleFactor')
cv2.namedWindow('image')
def nothing(x):
print 'x--->', x
cv2.createTrackbar('scale','scaleFactor', 0 , 5, nothing)
while(1):
rows, cols = img.shape[:2]
cv2.imshow('image', img)
scaleFactor = cv2.getTrackbarPos('scale','scaleFactor') or 1
scaleFactor = scaleFactor if scaleFactor > 0 else 1
img = cv2.resize(img, (int(rows * scaleFactor), int(cols * scaleFactor)), interpolation=cv2.INTER_LINEAR)
k =cv2.waitKey(10)
if k == 27:
break
print 'scaleFactor -->', scaleFactor
cv2.destroyAllWindows()
简单地告诉我一个很长的错误信息:
^{pr2}$以前有人遇到过这个错误吗?在
待办事项:
将您的代码改为:
原因:
我发现您将
rows, cols = img.shape[:2]
放在while循环中。在这不是您想要做的:
^{pr2}$It will scale by the scalefactor in every loop(not every time you change the trackbar value).
。在相关问题 更多 >
编程相关推荐