在進行影像分割的程序中產生好多不必要的空洞點,想把這些空洞點填充成底色,為此使用binary_fill_holes()函式進行操作,但是經過填充之后整張圖片都變成了底色,請教大佬這是什么問題,下面的我的代碼
img = cv2.imread(os.path.join(path, img))
img = ndimage.binary_fill_holes(np.asarray(img)).astype(int)
cv2.imwrite('/home/fill/' + '%s.png' % dn, img)
原始圖片是灰度圖

得到的結果圖是:

我理想的結果是把其中的空洞填充好就行,請教大佬該如何解決?
uj5u.com熱心網友回復:
遇到了同樣的問題,主要是輸出時int和float對rgb的表示范圍問題,可以參考下面的帖子https://stackoverflow.com/questions/42044259/getting-black-plots-with-plt-imshow-after-multiplying-image-array-by-a-scalar/42045225#42045225
不過我得case范圍對了效果也不太好,原因還不清楚,解決方法是將灰度圖轉成TRUE/FALSE 的2d的ndarray,填充然后輸出
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/21846.html
標籤:圖形處理/算法
上一篇:如何能獲取chrome,firefox這些瀏覽器打開的網址,并進行一些黑名單攔截?
下一篇:如何將一段記憶體寫到光碟中?
