使用 cv2.imshow 时得到这个黑色 window 而不是图片
Getting this black window instead of picture while using cv2.imshow
我不知道我应该用什么术语来表示我得到的 window,所以我附上 window 的屏幕截图以供参考。
我收到这个 window 大约 10 次中的 7 次 运行 这个代码:
import cv2
import numpy as np
import face_recognition
imgElon = face_recognition.load_image_file("BasicFaceRecImg/ElonMusk2.jpg")
imgElon = cv2.cvtColor(imgElon, cv2.COLOR_BGR2RGB)
imgElon_face_loc = face_recognition.face_locations(imgElon)[0]
print(imgElon_face_loc)
imgElon_encode = face_recognition.face_encodings(imgElon)[0]
cv2.rectangle(imgElon, (imgElon_face_loc[0], imgElon_face_loc[3]), (imgElon_face_loc[1], imgElon_face_loc[2]),(255, 0, 255), 2)
cv2.imshow('Elon Musk', imgElon)
cv2.waitKey(0)
有趣的是我并不是每次都遇到这个问题。它有时运行完美。
我遇到了同样的问题,并且能够使用以下代码解决它:
image = cv2.imread("./faces/test.jpg", cv2.IMREAD_COLOR)
我安装了 opencv-python-4.2.0.32,问题似乎已经消失了。遇到问题时我使用的是 4.3.0.36 版本。
这会有所帮助。您需要在 OpenCV 与图像格式混淆时调整图像大小,这将适用于所有 OpenCV 版本希望这有帮助
import cv2
import numpy as np
import face_recognition
# cv2.namedWindow('image', cv2.WINDOW_NORMAL)
imgElon = face_recognition.load_image_file("elon.jpg")
print(type(imgElon.shape))
a,b,c=imgElon.shape
imgElon = cv2.cvtColor(imgElon, cv2.COLOR_BGR2RGB)
imgElon_face_loc = face_recognition.face_locations(imgElon)[0]
print(imgElon_face_loc)
imgElon_encode = face_recognition.face_encodings(imgElon)[0]
cv2.rectangle(imgElon, (imgElon_face_loc[0], imgElon_face_loc[3]), (imgElon_face_loc[1], imgElon_face_loc[2]),(255, 0, 255), 2)
imgElon=cv2.resize(imgElon, (a, b))
cv2.imshow('image', imgElon)
cv2.waitKey(0)
cv2.destroyAllWindows()
我不知道我应该用什么术语来表示我得到的 window,所以我附上 window 的屏幕截图以供参考。
我收到这个 window 大约 10 次中的 7 次 运行 这个代码:
import cv2
import numpy as np
import face_recognition
imgElon = face_recognition.load_image_file("BasicFaceRecImg/ElonMusk2.jpg")
imgElon = cv2.cvtColor(imgElon, cv2.COLOR_BGR2RGB)
imgElon_face_loc = face_recognition.face_locations(imgElon)[0]
print(imgElon_face_loc)
imgElon_encode = face_recognition.face_encodings(imgElon)[0]
cv2.rectangle(imgElon, (imgElon_face_loc[0], imgElon_face_loc[3]), (imgElon_face_loc[1], imgElon_face_loc[2]),(255, 0, 255), 2)
cv2.imshow('Elon Musk', imgElon)
cv2.waitKey(0)
有趣的是我并不是每次都遇到这个问题。它有时运行完美。
我遇到了同样的问题,并且能够使用以下代码解决它:
image = cv2.imread("./faces/test.jpg", cv2.IMREAD_COLOR)
我安装了 opencv-python-4.2.0.32,问题似乎已经消失了。遇到问题时我使用的是 4.3.0.36 版本。
这会有所帮助。您需要在 OpenCV 与图像格式混淆时调整图像大小,这将适用于所有 OpenCV 版本希望这有帮助
import cv2
import numpy as np
import face_recognition
# cv2.namedWindow('image', cv2.WINDOW_NORMAL)
imgElon = face_recognition.load_image_file("elon.jpg")
print(type(imgElon.shape))
a,b,c=imgElon.shape
imgElon = cv2.cvtColor(imgElon, cv2.COLOR_BGR2RGB)
imgElon_face_loc = face_recognition.face_locations(imgElon)[0]
print(imgElon_face_loc)
imgElon_encode = face_recognition.face_encodings(imgElon)[0]
cv2.rectangle(imgElon, (imgElon_face_loc[0], imgElon_face_loc[3]), (imgElon_face_loc[1], imgElon_face_loc[2]),(255, 0, 255), 2)
imgElon=cv2.resize(imgElon, (a, b))
cv2.imshow('image', imgElon)
cv2.waitKey(0)
cv2.destroyAllWindows()