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

計算圖像中的單元格數(shù)

Count number of cells in the image(計算圖像中的單元格數(shù))
本文介紹了計算圖像中的單元格數(shù)的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我需要計算圖像中細胞數(shù)量的代碼,并且只計算粉紅色的細胞.我使用了閾值法和分水嶺法.

I need code for counting the number of cells in the image and only the cells that are in pink color should be counted .I have used thresholding and watershed method.

import cv2
from skimage.feature import peak_local_max
from skimage.morphology import watershed
from scipy import ndimage
import numpy as np
import imutils

image = cv2.imread("cellorigin.jpg")

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 0, 255,
    cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1]
cv2.imshow("Thresh", thresh)


D = ndimage.distance_transform_edt(thresh)
localMax = peak_local_max(D, indices=False, min_distance=20,
    labels=thresh)
cv2.imshow("D image", D)

markers = ndimage.label(localMax, structure=np.ones((3, 3)))[0]
labels = watershed(-D, markers, mask=thresh)
print("[INFO] {} unique segments found".format(len(np.unique(labels)) -     1))

for label in np.unique(labels):
    # if the label is zero, we are examining the 'background'
    # so simply ignore it
    if label == 0:
        continue

    # otherwise, allocate memory for the label region and draw
    # it on the mask
    mask = np.zeros(gray.shape, dtype="uint8")
    mask[labels == label] = 255

    # detect contours in the mask and grab the largest one
    cnts = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL,
        cv2.CHAIN_APPROX_SIMPLE)
    cnts = imutils.grab_contours(cnts)
    c = max(cnts, key=cv2.contourArea)

    # draw a circle enclosing the object
    ((x, y), r) = cv2.minEnclosingCircle(c)
    cv2.circle(image, (int(x), int(y)), int(r), (0, 255, 0), 2)
    cv2.putText(image, "#{}".format(label), (int(x) - 10, int(y)),
        cv2.FONT_HERSHEY_SIMPLEX, 0.6, (0, 0, 255), 2)



cv2.imshow("input",image

cv2.waitKey(0)

我無法正確分割粉色單元格.在某些地方,兩個粉色單元格連接在一起,它們也應該分開.

I am not able to segment the pink cells properly.At some places two pink cells are attached together those also should be separated.

輸出:

推薦答案

由于細胞的可見性似乎與細胞核(深紫色)和背景(淺粉色)不同,因此顏色閾值應該在這里起作用.想法是將圖像轉換為 HSV 格式,然后使用上下顏色閾值來隔離細胞.這將為我們提供一個二進制掩碼,我們可以使用它來計算單元格的數(shù)量.

Since the cells seem to be visibility different from the nucleus (dark purple) and the background (light pink), color thresholding should work here. The idea is to convert the image to HSV format then use a lower and upper color threshold to isolate the cells. This will give us a binary mask which we can use to count the number of cells.

我們首先將圖像轉換為 HSV 格式,然后使用較低/較高的顏色閾值來創(chuàng)建二進制蒙版.從這里我們執(zhí)行形態(tài)學操作來平滑圖像并去除少量噪聲.

We begin by converting the image to HSV format then use a lower/upper color threshold to create a binary mask. From here we perform morphological operations to smooth the image and remove small bits of noise.

現(xiàn)在我們有了掩碼,我們使用 cv2.RETR_EXTERNAL 參數(shù)查找輪廓,以確保我們只獲取外部輪廓.我們定義了幾個區(qū)域閾值來過濾掉細胞

Now that we have the mask, we find contours with the cv2.RETR_EXTERNAL parameter to ensure that we only take the outer contours. We define several area thresholds to filter out the cells

minimum_area = 200
average_cell_area = 650
connected_cell_area = 1000

minimum_area 閾值確保我們不計算單元格的微小部分.由于一些單元格是連接的,一些輪廓可能有多個連接的單元格表示為單個輪廓,因此為了更好地估計單元格,我們定義了一個 average_cell_area 參數(shù)來估計單個單元格的面積.connected_cell_area 參數(shù)檢測連接的單元格,其中在連接的單元格輪廓上使用 math.ceil() 來估計該輪廓中的單元格數(shù)量.為了計算單元格的數(shù)量,我們遍歷輪廓并根據(jù)它們的面積對輪廓求和.這是檢測到的以綠色突出顯示的單元格

The minimum_area threshold ensures that we do not count tiny sections of a cell. Since some of the cells are connected, some contours may have multiple connected cells represented as a single contour so to estimate the cells better, we define an average_cell_area parameter which estimates the area of a single cell. The connected_cell_area parameter detects connected cells where use math.ceil() on a connected cell contour to estimate the number of cells in that contour. To count the number of cells, we iterate through the contours and sum up the contours based on their area. Here's the detected cells highlighted in green

Cells: 75

代碼

import cv2
import numpy as np
import math

image = cv2.imread("1.jpg")
original = image.copy()
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)

hsv_lower = np.array([156,60,0])
hsv_upper = np.array([179,115,255])
mask = cv2.inRange(hsv, hsv_lower, hsv_upper)
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (3,3))
opening = cv2.morphologyEx(mask, cv2.MORPH_OPEN, kernel, iterations=1)
close = cv2.morphologyEx(opening, cv2.MORPH_CLOSE, kernel, iterations=2)

cnts = cv2.findContours(close, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cnts = cnts[0] if len(cnts) == 2 else cnts[1]

minimum_area = 200
average_cell_area = 650
connected_cell_area = 1000
cells = 0
for c in cnts:
    area = cv2.contourArea(c)
    if area > minimum_area:
        cv2.drawContours(original, [c], -1, (36,255,12), 2)
        if area > connected_cell_area:
            cells += math.ceil(area / average_cell_area)
        else:
            cells += 1
print('Cells: {}'.format(cells))
cv2.imshow('close', close)
cv2.imshow('original', original)
cv2.waitKey()

這篇關于計算圖像中的單元格數(shù)的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

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

相關文檔推薦

How to draw a rectangle around a region of interest in python(如何在python中的感興趣區(qū)域周圍繪制一個矩形)
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(根據(jù)文本方向檢測圖像方向角度)
Detect centre and angle of rectangles in an image using Opencv(使用 Opencv 檢測圖像中矩形的中心和角度)
主站蜘蛛池模板: 欧美三区视频 | 亚洲精品一区二区二区 | 午夜欧美| 久久99精品国产麻豆婷婷 | 成人在线免费看 | 91精品中文字幕一区二区三区 | 九九九视频在线 | 高清黄色毛片 | 久久伊人在| 国产成人精品综合 | 久久与欧美 | 91久久久www播放日本观看 | 99久久免费精品视频 | 亚洲精品一区中文字幕乱码 | 久久久国产精品一区 | 国产成人精品视频 | 精品久久一区 | 一级特黄网站 | ririsao久久精品一区 | 中文字幕欧美一区 | 精品国产乱码久久久久久蜜退臀 | 欧美日本韩国一区二区 | 国产精品自拍视频 | 亚洲在线一区 | 久久久久久91 | 女人毛片a毛片久久人人 | 亚洲精品一区二区三区 | 亚洲一区| 亚欧性视频 | 精品成人av | 午夜在线观看视频 | 国内精品一区二区三区 | 综合久久久 | 黄色片免费 | 午夜无码国产理论在线 | 青青草精品 | 亚洲精品一区二区网址 | 91色视频在线观看 | 91免费在线视频 | 日本不卡免费新一二三区 | 九九av|