【发布时间】:2019-04-26 07:12:40
【问题描述】:
我正在尝试对角裁剪实时视频。在 cv.line 的帮助下,我已经提到了尺寸,我的目标是显示我绘制的线下侧的视频,并且应该裁剪上视频, 作为初学者,我只能使用以下代码画一条线:
import cv2
cv2.namedWindow("preview")
vc = cv2.VideoCapture(0)
if vc.isOpened(): # try to get the first frame
rval, frame = vc.read()
else:
rval = False
while rval:
cv2.imshow("preview", frame)
rval, frame = vc.read()
key = cv2.waitKey(20)
if key == 27: # exit on ESC
break
else:
cv2.line(img=frame, pt1=(700,5), pt2=(5, 450), color=(255, 0, 0), thickness=1, lineType=8, shift=0)
vc.release()
cv2.destroyWindow("preview")
对此的建议将非常有帮助
【问题讨论】:
-
没有任何软件可以处理三角形或非矩形图像。您需要使左上角透明(或纯黑色或纯白色)而不是裁剪。
-
你能分享一下帮助我使左上角透明的代码吗?
-
在此之前,请注意 AFAIK,
imshow()不处理透明度,但您保存的任何 PNG 文件都将遵循透明度。 -
要增加透明度,请使用
RGBAframe = cv2.cvtColor(frame, cv2.COLOR_RGB2RGBA),然后在RGBAframe[:,:,3]中的黑色背景上绘制一个白色三角形 -
这里绘制实心三角形的代码...stackoverflow.com/a/51876455/2836621
标签: python python-3.x opencv