久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

圖像中土壤顆粒分水嶺以外的替代分割技術

Alternative segmentation techniques other than watershed for soil particles in images(圖像中土壤顆粒分水嶺以外的替代分割技術)
本文介紹了圖像中土壤顆粒分水嶺以外的替代分割技術的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我正在尋找一種替代方法來分割以下土壤顆粒圖像中的顆粒,而不是 python 中的分水嶺分割,因為它可能會誤導對顆粒的正確檢測此外,我正在研究邊緣檢測圖像(使用 HED算法)如附件..我希望找到一種更好的方法來分割顆粒以進行進一步處理,因為我想在我的項目中獲得圖像中每個多邊形的面積..提前致謝我也在詢問隨機游走器分割或任何其他可用方法.

解決方案

您可以嘗試使用已實現為 Stats 的 Connected Components

每個對象的質心可以在centroid參數中找到,面積等其他信息可以在cv2.connectedComponentsWithStats返回的status變量中找到/代碼>.這是標有每個多邊形面積的圖像.您可以使用最小閾值區域進行過濾以僅保留較大的多邊形

代碼

導入 cv2將 numpy 導入為 np# 加載圖片,高斯模糊,灰度,Otsu的閾值圖像 = cv2.imread('2.jpg')模糊 = cv2.GaussianBlur(圖像, (3,3), 0)灰色 = cv2.cvtColor(模糊,cv2.COLOR_BGR2GRAY)thresh = cv2.threshold(灰色, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]# 執行連通分量標注n_labels,標簽,統計,質心 = cv2.connectedComponentsWithStats(閾值,連接 = 4)# 創建假彩色圖像和背景顏色為黑色顏色 = np.random.randint(0, 255, size=(n_labels, 3), dtype=np.uint8)colors[0] = [0, 0, 0] # 出于美觀的原因,我們希望背景為黑色false_colors = 顏色[標簽]# 每個多邊形的標注區域false_colors_area = false_colors.copy()對于 i,枚舉中的質心(質心 [1:],開始 = 1):面積 = 統計[i, 4]cv2.putText(false_colors_area, str(area), (int(centroid[0]), int(centroid[1])), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255,255,255), 1)cv2.imshow('thresh', thresh)cv2.imshow('false_colors', false_colors)cv2.imshow('false_colors_area', false_colors_area)cv2.waitKey()

I am searching for an alternative way for segmenting the grains in the following image of soil grains other than watershed segmentation in python as it may mislead the right detection for the grains furthermore , I am working on the edge detection image ( using HED algorithm ) as attached .. I hope to find a better way to segment the grains for further processing as I would like to get the area of each polygon in the image in my project .. Thanks in advance I am asking also about random walker segmentation or any other available method.

解決方案

You could try using Connected Components with Stats already implemented as cv2.connectedComponentsWithStats to perform component labeling. Using your binary image as input, here's the false-color image:

The centroid of each object can be found in centroid parameter and other information such as area can be found in the status variable returned from cv2.connectedComponentsWithStats. Here's the image labeled with the area of each polygon. You could filter using a minimum threshold area to only keep larger polygons

Code

import cv2
import numpy as np

# Load image, Gaussian blur, grayscale, Otsu's threshold
image = cv2.imread('2.jpg')
blur = cv2.GaussianBlur(image, (3,3), 0)
gray = cv2.cvtColor(blur, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]

# Perform connected component labeling
n_labels, labels, stats, centroids = cv2.connectedComponentsWithStats(thresh, connectivity=4)

# Create false color image and color background black
colors = np.random.randint(0, 255, size=(n_labels, 3), dtype=np.uint8)
colors[0] = [0, 0, 0]  # for cosmetic reason we want the background black
false_colors = colors[labels]

# Label area of each polygon
false_colors_area = false_colors.copy()
for i, centroid in enumerate(centroids[1:], start=1):
    area = stats[i, 4]
    cv2.putText(false_colors_area, str(area), (int(centroid[0]), int(centroid[1])), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255,255,255), 1)

cv2.imshow('thresh', thresh)
cv2.imshow('false_colors', false_colors)
cv2.imshow('false_colors_area', false_colors_area)
cv2.waitKey()

這篇關于圖像中土壤顆粒分水嶺以外的替代分割技術的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How to draw a rectangle around a region of interest in python(如何在python中的感興趣區域周圍繪制一個矩形)
How can I detect and track people using OpenCV?(如何使用 OpenCV 檢測和跟蹤人員?)
How to apply threshold within multiple rectangular bounding boxes in an image?(如何在圖像的多個矩形邊界框中應用閾值?)
How can I download a specific part of Coco Dataset?(如何下載 Coco Dataset 的特定部分?)
Detect image orientation angle based on text direction(根據文本方向檢測圖像方向角度)
Detect centre and angle of rectangles in an image using Opencv(使用 Opencv 檢測圖像中矩形的中心和角度)
主站蜘蛛池模板: 亚洲日本国产 | 香蕉视频91| 国产乱码精品一区二区三区中文 | 国产免费黄网 | 国产资源一区二区三区 | 91看片网| 欧美日韩在线精品 | 男女视频在线观看免费 | 国产精品久久久久无码av | av天天爽| 一级片视频免费 | 日韩高清国产一区在线 | 偷拍第一页 | www.午夜 | 亚洲精品一 | 久久精品av | 天天操天天摸天天干 | 亚洲精品视频在线看 | 韩日在线 | 欧美成人一区二区 | 欧美视频在线看 | 国产精品久久久久久久久久久久冷 | 色视频免费 | 成人做爰www免费看 午夜精品久久久久久久久久久久 | 久久精品一区二区 | 午夜小视频在线观看 | 亚洲国产成人久久综合一区,久久久国产99 | 一区二区视频 | 在线成人av | 玩丰满女领导对白露脸hd | 久久丝袜 | 久久国内精品 | 亚洲精品99久久久久久 | 国产99久久精品一区二区永久免费 | 欧美日韩精选 | 日韩欧美综合 | 国产成人精品一区 | 黑人一级黄色大片 | 亚洲国产一区二区三区 | 亚洲精品久久国产高清情趣图文 | 国产精品久久久久久久7电影 |