[英]OpenCV overwrites my original image when drawing a line with cv2.line(…)
我正在使用cv2.line(...)
在現有圖像上繪制線條。 我將其分解為這個簡單的示例。 我不明白為什么在第一次調用cv2.line(...)
丟失原始圖像,但是在第二次調用中似乎沒有發生相同的情況。
# Show the original image (BGR color map)
misc.imshow(vis)
# Draw the first line display, the original image is lost
cv2.line(vis, (10, 10), (300, 300), color=(0, 255, 0), thickness=4)
misc.imshow(vis)
# Draw a second line, somehow the previous image wasn't lost this time
cv2.line(vis, (50, 100), (250, 200), color=(0, 255, 0), thickness=4)
misc.imshow(vis)
來自imshow
結果:
預期結果是原始圖像,並在其頂部繪制了兩條線。
發生問題是因為我的圖像表示為float32圖像,像素值在[0,1]范圍內,而顏色設置為(0,255,0),迫使圖像為整數表示,將我的所有[0, 1]值轉換為整數。
將我的顏色值更改為(0,1.0,0)可以解決此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.