图像彩色边缘检测

2024-10-03 06:30:43 发布

您现在位置:Python中文网/ 问答频道 /正文

如图所示,我想用紫色标记三个分支的边缘,并将其他区域过滤为纯白色(或其他背景色)。利用拉普拉斯算子和sober算子对图像进行梯度处理,然后用canny方法进行边缘检测。然而,这并没有达到我的期望。在

import cv2
import numpy as np
from matplotlib import pyplot as plt

if __name__ == '__main__' :

    # Read image
    im = cv2.imread("crop.jpg")

    # Calculation of Laplacian 
    laplacian = cv2.Laplacian(imCrop,cv2.CV_64F) 

    edges = cv2.Canny(laplacian,35,35)

enter image description here


Tags: 标记import区域利用as分支cv2边缘
2条回答

我想出了一个解决方案如下

import cv2
import numpy as np
from matplotlib import pyplot as plt

if __name__ == '__main__' :

    # Read image
    im = cv2.imread("crop.jpg")
    a=np.copy(im)

    a[:,:,0]=255
    a[:,:,1]=255
    a[a>150]=255

    plt.imshow(a)

试着改进它以达到你的目标:

import cv2

image = cv2.imread("test.jpg")
#convert to hsv
i = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
i[: ,:, 0]=0
i[: ,:, 2]=0
#s channel 
cv2.imshow("s channel", i)

Image output with s channel

相关问题 更多 >