gpt4 book ai didi

python - 无法从opencv-python Laplacian操作获得预期的输出

转载 作者:行者123 更新时间:2023-12-02 16:52:50 25 4
gpt4 key购买 nike

我正在尝试使用cv2.laplacian从摄像机获取捕获帧的边缘,但是输出似乎不太正确。

输出如下:
output img

期望这样的一个:expected

这是代码:

import cv2
import numpy as np

cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 160)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 120)
while(1):
_, frame = cap.read()
laplacian = cv2.Laplacian(frame, cv2.CV_64F)
# cv2.imshow('oringinal', frame)
cv2.imshow('laplacian',laplacian)
k = cv2.waitKey(5) & 0xFF
if k == 27:
break

cv2.destroyAllWindows()
cap.release()

我认为它显示出一些边缘,整体颜色不会那么亮和白。

我的代码有问题吗?我正在使用MAC。

最佳答案

问题是您没有将图片正确转换为uint8图片。可以使用cv.convertScaleAbs解决。

试试这个:

import cv2
import numpy as np

cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 160)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 120)
while(1):
_, frame = cap.read()
laplacian = cv2.Laplacian(frame, cv2.CV_64F)
# cv2.imshow('oringinal', frame)
abs_dst = cv.convertScaleAbs(laplacian)
cv2.imshow('laplacian',abs_dst)
k = cv2.waitKey(5) & 0xFF
if k == 27:
break

cv2.destroyAllWindows()
cap.release()


文档: https://docs.opencv.org/3.4/d5/db5/tutorial_laplace_operator.html

有关cv.convertScaleAbs的文档: https://docs.opencv.org/3.4/d2/de8/group__core__array.html#ga3460e9c9f37b563ab9dd550c4d8c4e7d

关于python - 无法从opencv-python Laplacian操作获得预期的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57177705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com