Jump_over 2022-03-12 18:30 采纳率: 100%
浏览 113
已结题

Sobel算子使用中为什么可以直接处理灰度图像?

问题遇到的现象和发生背景

在讲解Sobel算子的原理时讲到找出边界的时候最终获得边界的二值图像,用灰度处理后不就造成有多数地方不是0么?

问题相关代码,请勿粘贴截图

import cv2
import numpy as np

erzhi=cv2.imread("abba.png")
Gerzhi = cv2.cvtColor(erzhi, cv2.COLOR_BGR2GRAY) #此处的“cv2.COLOR_BGR2GRAY”不是表示以灰度图像读取么?
ax=cv2.Sobel(Gerzhi,cv2.CV_64F,1,0)
ay=cv2.Sobel(Gerzhi,cv2.CV_64F,0,1)
ax=cv2.convertScaleAbs(ax)
ay=cv2.convertScaleAbs(ay)
erzhi1=cv2.addWeighted(ax,0.5,ay,0.5,0)
cv2.imshow("EZ",erzhi)
cv2.imshow("EZax",ax)
cv2.imshow("EZay",ay)
cv2.imshow("EZ1",erzhi1)
cv2.waitKey()
cv2.destroyAllWindows()

运行结果及报错内容

原图和边界图

img

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

报告相同问题?

问题事件

  • 系统已结题 3月21日
  • 已采纳回答 3月13日
  • 创建了问题 3月12日