題目描述
利用opencv
或其他工具編寫程式實現影象的邊緣提取。
實現過程
import cv2
import numpy as np
# imread()兩個引數:
# 1、路徑。
img = cv2.imread(r"c:\users\pc\desktop\test1.bmp"
)cv2.imshow(
'img'
, img)
ret, thresh1 = cv2.threshold(img,80,
255, cv2.thresh_binary)
# 閾值分割,黑白二值
ret, thresh2 = cv2.threshold(thresh1,80,
255, cv2.thresh_binary_inv)
# (黑白二值反轉)
cv2.imshow(
'img1'
, thresh1)
cv2.imshow(
'img2'
, thresh2)
# canny運算元是雙閾值,所以需要指定兩個閾值,閾值越小,邊緣越豐富。
img3 = cv2.canny(img,80,
255)
# 對img3影象進行反轉
img4 = cv2.bitwise_not(img3)
cv2.imshow(
'img4'
, img4)
cv2.waitkey(
)# 關閉視窗並取消分配任何相關的記憶體使用
cv2.destroyallwindows(
)
執行結果
python opencv 邊緣檢測
canny邊緣檢測器是一種被廣泛使用的演算法,並被認為是邊緣檢測最優的演算法,該方法使用了比高斯差分演算法更複雜的技巧,如多向灰度梯度和滯後閾值化 平滑影象 使用高斯濾波器與影象進行卷積,平滑影象,以減少邊緣檢測器上明顯的雜訊影響 計算影象的梯度和方向 影象中的邊緣可以指向各個方向,這裡計算影象的梯...
delphi FMX使用模糊集合進行邊緣提取
模糊集合的邊緣提取 procedure mohulvbo b tbitmap var b read tbitmap x,y i integer 0 黑 白 三個輸入隸屬度函式 ze bl,wh array 0.255 of single wdata rdata tbitmapdata p0,p,p1...
opencv學習筆記(13)canny邊緣提取
canny演算法介紹 老師ppt裡的 1.高斯模糊 gaussianblur 2.灰度轉換 cvtcolor 3.計算梯度 sobel scharr 4.非最大訊號抑制 5.高低閾值輸出二值影象 coding utf 8import cv2 as cv import numpy as np def ...