在 OpenCV 中画一条线不起作用
Draw a line in OpenCV does not work
当我 运行 这个应该在黑色表面上画一条线的代码时,我没有收到任何错误消息,但也没有显示任何内容。怎么了?
import numpy as np
import cv2
class DessinerLigne:
def dessinerLigne(self):
# Create a black image
self.img=np.zeros((512,512,3),np.uint8)
# Draw a diagonal blue line with thickness of 5 px
self.img=cv2.line(self.img,(0,0),(511,511),(255,0,0),5)
# If q is pressed then exit program
self.k=cv2.waitKey(0)
if self.k==ord('q'):
cv2.destroyAllWindows()
if __name__=="__main__":
DL=DessinerLigne()
DL.dessinerLigne()
从 OpenCV doc 开始,您可以看到 cv2.line() returns 什么都没有,但就地运行。
所以你的代码可以是
import numpy as np
import cv2
class DessinerLigne:
def dessinerLigne(self):
# Create a black image
self.img=np.zeros((512,512,3),np.uint8)
# Draw a diagonal blue line with thickness of 5 px
cv2.line(self.img,(0,0),(511,511),(255,0,0),5)
cv2.imshow("Image", self.img)
# If q is pressed then exit program
self.k=cv2.waitKey(0)
if self.k==ord('q'):
cv2.destroyAllWindows()
if __name__=="__main__":
DL=DessinerLigne()
DL.dessinerLigne()
当我 运行 这个应该在黑色表面上画一条线的代码时,我没有收到任何错误消息,但也没有显示任何内容。怎么了?
import numpy as np
import cv2
class DessinerLigne:
def dessinerLigne(self):
# Create a black image
self.img=np.zeros((512,512,3),np.uint8)
# Draw a diagonal blue line with thickness of 5 px
self.img=cv2.line(self.img,(0,0),(511,511),(255,0,0),5)
# If q is pressed then exit program
self.k=cv2.waitKey(0)
if self.k==ord('q'):
cv2.destroyAllWindows()
if __name__=="__main__":
DL=DessinerLigne()
DL.dessinerLigne()
从 OpenCV doc 开始,您可以看到 cv2.line() returns 什么都没有,但就地运行。
所以你的代码可以是
import numpy as np
import cv2
class DessinerLigne:
def dessinerLigne(self):
# Create a black image
self.img=np.zeros((512,512,3),np.uint8)
# Draw a diagonal blue line with thickness of 5 px
cv2.line(self.img,(0,0),(511,511),(255,0,0),5)
cv2.imshow("Image", self.img)
# If q is pressed then exit program
self.k=cv2.waitKey(0)
if self.k==ord('q'):
cv2.destroyAllWindows()
if __name__=="__main__":
DL=DessinerLigne()
DL.dessinerLigne()