Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 使用自适应阈值分析粒子?_Image Processing_Opencv Python_Particles_Adaptive Threshold - Fatal编程技术网

Image processing 使用自适应阈值分析粒子?

Image processing 使用自适应阈值分析粒子?,image-processing,opencv-python,particles,adaptive-threshold,Image Processing,Opencv Python,Particles,Adaptive Threshold,我对OpenCV完全是新手,我尝试着分析生物图像。然而,我有一个问题来量化你在这些图片上看到的“点”: 1.)这是一张图像,您可以清晰地看到红色背景上的红点 2.)在这张图片上,由于强烈的背景信号,识别点非常困难: 3.)但是,它们是一张大型显微镜图像的一部分: 我试图编写一个程序来量化每个粒子,并编写了以下OpenCV脚本: import cv2 import numpy as np img = cv2.imread('image.png') mask = cv2.cvtColor(

我对OpenCV完全是新手,我尝试着分析生物图像。然而,我有一个问题来量化你在这些图片上看到的“点”:

1.)这是一张图像,您可以清晰地看到红色背景上的红点

2.)在这张图片上,由于强烈的背景信号,识别点非常困难:

3.)但是,它们是一张大型显微镜图像的一部分:

我试图编写一个程序来量化每个粒子,并编写了以下OpenCV脚本:

import cv2
import numpy as np

img = cv2.imread('image.png')

mask = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
th = 35

mask[mask<th] = 0
mask[mask>0] = 255
mask = np.stack([mask, mask, mask], axis=2)

result = np.hstack((img, mask))

cv2.namedWindow("peaks", cv2.WINDOW_NORMAL)
cv2.imshow("peaks", result)
cv2.waitKey(0)
cv2.destroyAllWindows()
导入cv2
将numpy作为np导入
img=cv2.imread('image.png')
遮罩=cv2.CVT颜色(img,cv2.COLOR\u BGR2GRAY)
th=35
掩码[mask0]=255
掩码=np.堆栈([掩码,掩码,掩码],轴=2)
结果=np.hstack((img,mask))
cv2.namedWindow(“峰值”,cv2.WINDOW_正常)
cv2.imshow(“峰值”,结果)
cv2.等待键(0)
cv2.destroyAllWindows()
但是,这仅适用于没有强噪声背景的图像:

但不是一个有强烈背景的人:

这是相当令人沮丧的,因为由于背景噪音的影响,成像效果相当差,但是有没有办法分析粒子呢?我听说过自适应阈值。它对这个问题有效吗?我很高兴能得到任何帮助

亲切问候,, 哈希拉马