首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从opencv-python Laplacian操作中得不到预期的输出

从opencv-python Laplacian操作中得不到预期的输出
EN

Stack Overflow用户
提问于 2019-07-24 07:41:54
回答 1查看 201关注 0票数 0

我试图使用cv2.laplacian从相机中获取捕捉到的帧的边缘,但是输出似乎不太正确。

输出如下所示:

像这样的人:

下面是代码:

代码语言:javascript
运行
复制
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。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-24 08:03:54

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

试试这个:

代码语言:javascript
运行
复制
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()

Documentation: operator.html

关于cv.convertScaleAbs**:** array.html#ga3460e9c9f37b563ab9dd550c4d8c4e7d文档

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57177705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档