cv2.Resize()在OpenCV编译后不起作用



所以我想在树莓pi 4板上测试python opencv库和最新编译的opencv之间的性能差异。更改后,cv2.resize()在我的脚本中停止工作,只从我的网络摄像头输出最大分辨率。我也尝试过imutils图书馆,但没有成功。我试过同时使用两种:

  • cv2.CAP_PROP_FRAME_WIDTH
  • cv2.CAP_PROP_FRAME_HEIGHT

但我只得到一个调整大小的窗口,而不是帧

此外,我得到了这个错误GStreamer警告:无法查询视频位置:状态=0,值=-1,持续时间=-1

我错过了什么?

更新:最小代码

import cv2
from imutils.video import FPS
cap = cv2.VideoCapture(0)
#cap.set(cv2.CAP_PROP_FRAME_WIDTH,960)
#cap.set(cv2.CAP_PROP_FRAME_HEIGHT,540)
fps = FPS().start()
font = cv2.FONT_HERSHEY_DUPLEX
while cap.isOpened():
ret, frame = cap.read()
small_frame = cv2.resize(frame, (0, 0), fx=0.75, fy=0.75)
fps.update()
fps.stop()
cv2.putText(small_frame,"FPS {:.1f}".format(fps.fps()),
(10,30),font, 1.0, (255, 255, 255), 1)
cv2.imshow("Frame",small_frame)
key = cv2.waitKey(1)
if key == ord('q'):
break
if key == ord('p'):
cv2.waitKey(-1)

cap.release()
cv2.destroyAllWindows()

您正在使用比例和维度0切换试试这个:

import cv2

img = cv2.imread('/home/img/python.png', cv2.IMREAD_UNCHANGED)

print('Original Dimensions : ',img.shape)

scale_percent = 60 # percent of original size
width = int(img.shape[1] * scale_percent / 100)
height = int(img.shape[0] * scale_percent / 100)
dim = (width, height)
# resize image
resized = cv2.resize(img, dim, interpolation = cv2.INTER_AREA)

print('Resized Dimensions : ',resized.shape)

cv2.imshow("Resized image", resized)
cv2.waitKey(0)
cv2.destroyAllWindows()

最新更新